zoukankan      html  css  js  c++  java
  • 存储过程和游标

    存储过程和游标

      1 -- 变量的声明,sql里面声明变量时必须在变量前加@符号
      2     DECLARE @I INT
      3 
      4 -- 变量的赋值,变量赋值时变量前必须加set
      5     SET @I = 30
      6 
      7 -- 声明多个变量
      8     DECLARE @s varchar(10),@a INT
      9 
     10 -- Sql 里if语句
     11     IF 条件 BEGIN
     12         执行语句
     13     END
     14     ELSE BEGIN
     15         执行语句
     16     END
     17             
     18     DECLARE @d INT
     19     set @d = 1
     20 
     21     IF @d = 1 BEGIN
     22 
     23     -- 打印
     24         PRINT '正确'
     25     END
     26     ELSE BEGIN
     27         PRINT '错误'
     28     END
     29 
     30 
     31 -- Sql 里的多条件选择语句.
     32     DECLARE @iRet INT, @PKDisp VARCHAR(20)
     33     SET @iRet = 1
     34     Select @iRet =
     35     CASE
     36         WHEN @PKDisp = '' THEN 1
     37         WHEN @PKDisp = '' THEN 2
     38         WHEN @PKDisp = '' THEN 3
     39         WHEN @PKDisp = '' THEN 4
     40         WHEN @PKDisp = '' THEN 5
     41         ELSE 100
     42     END
     43 
     44 -- 循环语句
     45     WHILE 条件 BEGIN    
     46         执行语句
     47     END
     48 
     49     DECLARE @i INT
     50     SET @i = 1
     51     WHILE @i<1000000 BEGIN
     52         set @i=@i+1
     53     END
     54     -- 打印
     55     PRINT @i
     56 
     57 -- Select INTO 从一个查询的计算结果中创建一个新表。 数据并不返回给客户端,这一点和普通的
     58 -- Select 不同。 新表的字段具有和 Select 的输出字段相关联(相同)的名字和数据类型。
     59         
     60         select * into NewTable
     61             from Uname
     62 
     63 
     64 -- Insert INTO Select
     65         -- 表ABC必须存在
     66         -- 把表Uname里面的字段Username复制到表ABC
     67         Insert INTO ABC Select Username FROM Uname
     68 
     69 -- 创建临时表
     70         Create TABLE #temp(
     71             UID int identity(1, 1) PRIMARY KEY,
     72             UserName varchar(16),
     73             Pwd varchar(50),
     74             Age smallint,
     75             Sex varchar(6)
     76         )
     77         -- 打开临时表
     78         Select * from #temp
     79 
     80 
     81 -- 存储过程
     82         -- 要创建存储过程的数据库
     83         Use Test
     84         -- 判断要创建的存储过程名是否存在
     85             if Exists(Select name From sysobjects Where name='csp_AddInfo' And
     86 
     87 type='P')
     88             -- 删除存储过程
     89             Drop Procedure dbo.csp_AddInfo
     90         Go
     91                 
     92                 
     93         -- 创建存储过程
     94         Create Proc dbo.csp_AddInfo
     95         -- 存储过程参数
     96         @UserName varchar(16),
     97         @Pwd varchar(50),
     98         @Age smallint,
     99         @Sex varchar(6)
    100         AS
    101         -- 存储过程语句体
    102         insert into Uname (UserName,Pwd,Age,Sex)
    103             values (@UserName,@Pwd,@Age,@Sex)
    104         RETURN
    105         -- 执行
    106         GO
    107                 
    108         -- 执行存储过程
    109         EXEC csp_AddInfo 'Junn.A','123456',20,''
    110 
    111 有關游標的問題
    112 
    113         declare db cursor for       //聲明一個游標(db為其名稱)
    114 
    115         SELECT UNIT_NAME FROM UNIT WHERE LEFT(UNIT_CODE,2)=LEFT(@strTO,2)//記錄集
    116 
    117         open db                 //打開游標
    118 
    119             fetch next from db into @strUNIT_NAME //將第一個值放入一個參數中
    120 
    121         while @@fetch_status = 0 ---存在本筆值向下循環
    122 
    123 (0:順利執行;-1:失敗,或資料列超出結果集;-2:擷取的資料列已遺漏)
    124 
    125         BEGIN             ----開始循環
    126 
    127                         //個體操作
    128 
    129         End                ----結束循環
    130 
    131         Close db            ---關閉游標
    132 
    133 deallocate db         //移除資料指標參考
  • 相关阅读:
    c# 基础连接已经关闭: 连接被意外关闭,错误的解决
    关于SSIS中代码页(Code Page) 相关错误
    WinAPI: CopyFileEx
    RegularExpressions(5) RegularExpressions 成员(二) IRegex
    RegularExpressions(4) RegularExpressions 成员(一)
    RegularExpressions(3) RegularExpressions 的工作思路
    一句话复制整个文件夹(当然包括嵌套文件夹) 回复 "张哆哆" 的问题
    有趣的 TBitBtn.Kind
    如何用 GDI+ 高质量地缩放图片 回复 "程序牛" 的问题
    如何用 GDI 绘制阴影文字 回复 "Splendour" 的问题
  • 原文地址:https://www.cnblogs.com/tasunny/p/11996708.html
Copyright © 2011-2022 走看看