SQL server 存储过程语法大全
- 格式:docx
- 大小:19.38 KB
- 文档页数:12
SQL server 存储过程语法大全
SQLSERVER存儲過程的寫法格式規格
*****************************************************
*** author:Susan
*** date:2005/08/05
*** expliation:如何寫存儲過程的格式及例子,有游標的用法!
*** 本版:SQL SERVER 版!
******************************************************/ 在存儲過程中的格式規格:
CREATE PROCEDURE XXX
參數1,
參數2……………
As
Declare
參數1,
參數2……………
Set參數1的初始值
Set參數2的初始值…………
Begin trascation
Commit trascation
Return
下面是一個例子
CREATE PROCEDURE TEST_2
@strTO VARCHAR(3)
AS
DECLARE
@strUNIT_NAME VARCHAR(800), @strSQL VARCHAR(8000),
@Link VARCHAR(1),
@Link1 VARCHAR(1)
SET @strUNIT_NAME=''
SET @strSQL=''
SET @Link=''
SET @Link1=''
BEGIN TRANSACTION
IF @strTO<>''
BEGIN
UPDATE UNIT SET UNIT_NAME=REPLACE(UNIT_NAME,'*','') WHERE
UNIT_CODE=@strTO
END
ELSE
BEGIN
UPDATE UNIT SET UNIT_NAME=UNIT_NAME+'*' WHERE UNIT_CODE='011'
END
IF @strTO<>''
BEGIN
declare db cursor for --必需聲明在查詢的前面
SELECT UNIT_NAME FROM UNIT WHERE LEFT(UNIT_CODE,2)=LEFT(@strTO,2)---取到相關信息
END
ELSE
BEGIN
declare db cursor for --必需聲明在查詢的前面
SELECT UNIT_NAME FROM UNIT WHERE LEFT(UNIT_CODE,2)=LEFT('011',2)---取到相關信息
END
open db ---開起取到的信息
fetch next from db into @strUNIT_NAME ---把第一筆放入@strUNIT_NAME中while @@fetch_status = 0 ---表示存在本筆資料
BEGIN ----開始循環
set @strSQL =@strSQL+@Link1+@Link+ @strUNIT_NAME ----設定保存的值fetch next from db into @strUNIT_NAME ----進行下次循環
SET @Link=CHAR(13) +CHAR(10)
SET @Link1=','
END ----結束循環
close db ---關閉信息
deallocate db ---移除資料指標參考
SELECT @strSQL
COMMIT TRANSACTION
RETURN如果循环insert的例子
DECLARE @strLoginID VARCHAR(16)
BEGIN
declare db cursor for
SELECT LoginID FROM dbo.s_Users WHERE len(UnitCoding) in(9,12)
END
open db
fetch next from db into @strLoginID
while @@fetch_status = 0 BEGIN
insert into s_P_User
select @strLoginID,LevelID from s_P_User where LoginID = 'aa'
fetch next from db into @strLoginID
END
close db
deallocate db一、TRUNCATE
二、Select INTO 建表
把一个表中的数据复制到另外一个表中。
三、Insert INTO Select
四、补充:临时表
临时表存储在系统数据库tempdb中
临时表会被系统隐式地丢弃
---------------------------------------------------------
五、存储过程(**)
一、简介:
存储过程(Stored Procedure),是一组为了完成特定功能的SQL 语句,集经编译后
存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行
它,
在SQL Server 的系列版本中,存储过程分为两类:系统提供的存储过程和用户自定义存储过程
。
系统SP,主要存储master 数据库中,并以sp_为前缀并且系统存储过程主要是从系统表中获取