速学如何定义SQL存储过程


  本文标签:SQL存储过程

  SQL存储过程在SQL数据库中用途广泛,下面为您介绍如何定义SQL存储过程,如果您是刚接触SQL数据库的用户,不妨一看,希望对您学习SQL存储过程有所帮助  。

  1. CREATE PROCEDURE get_tableinfo AS   
  2.    
  3. if not exists (select * from dbo.sysobjects where id = object_id(N[dbo].[tablespaceinfo]) and OBJECTPROPERTY(id, NIsUserTable) = 1)   
  4. create table  tablespaceinfo                         --创建结果存储表   
  5.               (nameinfo varchar(50) ,    
  6.                rowsinfo int , reserved varchar(20) ,    
  7.                datainfo varchar(20)  ,    
  8.                index_size varchar(20) ,    
  9.                unused varchar(20) )   
  10.    
  11.    
  12. delete from tablespaceinfo --清空数据表   
  13.    
  14. declare @tablename varchar(255)  --表名称   
  15.    
  16. declare @cmdsql varchar(500)   
  17.    
  18. DECLARE Info_cursor CURSOR FOR    
  19. select o.name     
  20. from dbo.sysobjects o where OBJECTPROPERTY(o.id, NIsTable) = 1    
  21.      and o.name not like N#%%  order by o.name   
  22.    
  23. OPEN Info_cursor   
  24.    
  25. FETCH NEXT FROM Info_cursor    
  26. INTO @tablename    
  27.    
  28. WHILE @@FETCH_STATUS = 0   
  29. BEGIN   
  30.    
  31.   if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, NIsUserTable) = 1)   
  32.   execute sp_executesql    
  33.          Ninsert into tablespaceinfo  exec sp_spaceused @tbname,   
  34.           N@tbname varchar(255),   
  35.           @tbname = @tablename   
  36.    
  37.   FETCH NEXT FROM Info_cursor    
  38.   INTO @tablename    
  39. END   
  40.    
  41. CLOSE Info_cursor   
  42. DEALLOCATE Info_cursor   
  43. GO   
  44.