DatabaseProcApplicationCreatedLinks
sybsystemprocssp_databases  31 Aug 14Defects Dependencies

1     
2     /* Sccsid = "%Z% generic/sproc/%M% %I% %G%" */
3     
4     create procedure sp_databases
5     as
6     
7         if @@trancount = 0
8         begin
9             set chained off
10        end
11    
12        set transaction isolation level 1
13    
14        /* Use temporary table to sum up database size w/o using group by */
15        create table #databases(
16            database_name varchar(32),
17            size int)
18    
19        /* Insert row for each database */
20        insert into #databases
21        select
22            name,
23                (select sum(size) from master.dbo.sysusages
24                where dbid = d.dbid)
25        from master.dbo.sysdatabases d
26    
27        select
28            database_name,
29            /* Convert from number of pages to K */
30            database_size = size * (@@maxpagesize / 1024),
31            remarks = convert(varchar(254), null) /* Remarks are NULL */
32        from #databases
33    
34        return (0)
35    


exec sp_procxmode 'sp_databases', 'AnyMode'
go

Grant Execute on sp_databases to public
go
RESULT SETS
sp_databases_rset_001

DEFECTS
 MGTP 3 Grant to public master..sysdatabases  
 MGTP 3 Grant to public master..sysusages  
 MGTP 3 Grant to public sybsystemprocs..sp_databases  
 MNER 3 No Error Check should check @@error after insert 20
 MUCO 3 Useless Code Useless Brackets 34
 MUIN 3 Column created using implicit nullability 15
 QISO 3 Set isolation level 12
 MRST 2 Result Set Marker 27
 MSUC 2 Correlated Subquery Marker 23
 MTR1 2 Metrics: Comments Ratio Comments: 26% 4
 MTR2 2 Metrics: Cyclomatic Complexity Cyclo: 2 = 1dec - 1exi + 2 4
 MTR3 2 Metrics: Query Complexity Complexity: 15 4
 PRED_QUERY_COLLECTION 2 {d=master..sysdatabases, u=master..sysusages} 0 23

DEPENDENCIES
PROCS AND TABLES USED
reads table master..sysdatabases (1)  
reads table master..sysusages (1)  
read_writes table tempdb..#databases (1)