-- 变量的声明,sql里面声明变量时必须在变量前加@符号
DECLARE @I INT-- 变量的赋值,变量赋值时变量前必须加set
SET @I = 30-- 声明多个变量
DECLARE @s varchar(10),@a INT-- Sql 里if语句
IF 条件 BEGIN 执行语句 END ELSE BEGIN 执行语句 END DECLARE @d INT set @d = 1IF @d = 1 BEGIN
-- 打印
PRINT '正确' END ELSE BEGIN PRINT '错误' END -- Sql 里的多条件选择语句. DECLARE @iRet INT, @PKDisp VARCHAR(20) SET @iRet = 1 Select @iRet = CASE WHEN @PKDisp = '一' THEN 1 WHEN @PKDisp = '二' THEN 2 WHEN @PKDisp = '三' THEN 3 WHEN @PKDisp = '四' THEN 4 WHEN @PKDisp = '五' THEN 5 ELSE 100 END-- 循环语句
WHILE 条件 BEGIN 执行语句 ENDDECLARE @i INT
SET @i = 1 WHILE @i<1000000 BEGIN set @i=@i+1 END -- 打印 PRINT @i-- Select INTO 从一个查询的计算结果中创建一个新表。 数据并不返回给客户端,这一点和普通的
-- Select 不同。 新表的字段具有和 Select 的输出字段相关联(相同)的名字和数据类型。 select * into NewTable from Uname -- Insert INTO Select -- 表ABC必须存在 -- 把表Uname里面的字段Username复制到表ABC Insert INTO ABC Select Username FROM Uname-- 创建临时表
Create TABLE #temp( UID int identity(1, 1) PRIMARY KEY, UserName varchar(16), Pwd varchar(50), Age smallint, Sex varchar(6) ) -- 打开临时表 Select * from #temp -- 存储过程 -- 要创建存储过程的数据库 Use Test -- 判断要创建的存储过程名是否存在 if Exists(Select name From sysobjects Where name='csp_AddInfo' Andtype='P')
-- 删除存储过程 Drop Procedure dbo.csp_AddInfo Go -- 创建存储过程 Create Proc dbo.csp_AddInfo -- 存储过程参数 @UserName varchar(16), @Pwd varchar(50), @Age smallint, @Sex varchar(6) AS -- 存储过程语句体 insert into Uname (UserName,Pwd,Age,Sex) values (@UserName,@Pwd,@Age,@Sex) RETURN -- 执行 GO -- 执行存储过程 EXEC csp_AddInfo 'Junn.A','123456',20,'男'有關游標的問題
declare db cursor for //聲明一個游標(db為其名稱)
SELECT UNIT_NAME FROM UNIT WHERE LEFT(UNIT_CODE,2)=LEFT(@strTO,2)//記錄集
open db //打開游標
fetch next from db into @strUNIT_NAME //將第一個值放入一個參數中
while @@fetch_status = 0 ---存在本筆值向下循環
(0:順利執行;-1:失敗,或資料列超出結果集;-2:擷取的資料列已遺漏)
BEGIN ----開始循環
//個體操作
End ----結束循環
Close db ---關閉游標
deallocate db //移除資料指標參考