SQL存儲過程在SQL
數據庫中用途廣泛,下面為您介紹如何定義SQL存儲過程,如果您是剛接觸SQL數據庫的用戶,不妨一看,希望對您學習SQL存儲過程有所幫助。
- CREATE PROCEDURE get_tableinfo AS
-
- if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- create table tablespaceinfo --創建結果存儲表
- (nameinfo varchar(50) ,
- rowsinfo int , reserved varchar(20) ,
- datainfo varchar(20) ,
- index_size varchar(20) ,
- unused varchar(20) )
-
-
- delete from tablespaceinfo --清空數據表
-
- declare @tablename varchar(255) --表名稱
-
- declare @cmdsql varchar(500)
-
- DECLARE Info_cursor CURSOR FOR
- select o.name
- from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsTable') = 1
- and o.name not like N'#%%' order by o.name
-
- OPEN Info_cursor
-
- FETCH NEXT FROM Info_cursor
- INTO @tablename
-
- WHILE @@FETCH_STATUS = 0
- BEGIN
-
- if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
- execute sp_executesql
- N'insert into tablespaceinfo exec sp_spaceused @tbname',
- N'@tbname varchar(255)',
- @tbname = @tablename
-
- FETCH NEXT FROM Info_cursor
- INTO @tablename
- END
-
- CLOSE Info_cursor
- DEALLOCATE Info_cursor
- GO