亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

SQLSERVER存儲過程基本語法

2024-07-21 02:49:19
字體:
來源:轉載
供稿:網友
SQLSERVER存儲過程基本語法
一、定義變量--簡單賦值 declare @a intset @a=5 PRint @a   --使用select語句賦值 declare @user1 nvarchar(50) select @user1='張三'print @user1 declare @user2 nvarchar(50) select @user2 = Name from ST_User where ID=1 print @user2   --使用update語句賦值 declare @user3 nvarchar(50) update ST_User set @user3 = Name where ID=1 print @user3 二、表、臨時表、表變量--創建臨時表1 create table #DU_User1 (      [ID] [int]  NOT NULL,      [Oid] [int] NOT NULL,      [Login] [nvarchar](50) NOT NULL,      [Rtx] [nvarchar](4) NOT NULL,      [Name] [nvarchar](5) NOT NULL,      [PassWord] [nvarchar](max) NULL,      [State] [nvarchar](8) NOT NULL); --向臨時表1插入一條記錄 insert into #DU_User1 (ID,Oid,[Login],Rtx,Name,[Password],State) values (100,2,'LS','0000','臨時','321','特殊');   --從ST_User查詢數據,填充至新生成的臨時表 select * into #DU_User2 from ST_User where ID<8   --查詢并聯合兩臨時表 select * from #DU_User2 where ID<3 union select * from #DU_User1   --刪除兩臨時表 drop table #DU_User1 drop table #DU_User2 --創建臨時表 CREATE TABLE #t (     [ID] [int] NOT NULL,     [Oid] [int] NOT NULL,     [Login] [nvarchar](50) NOT NULL,     [Rtx] [nvarchar](4) NOT NULL,     [Name] [nvarchar](5) NOT NULL,     [Password] [nvarchar](max) NULL,     [State] [nvarchar](8) NOT NULL, )   --將查詢結果集(多條數據)插入臨時表 insert into #t select * from ST_User --不能這樣插入 --select * into #t from dbo.ST_User   --添加一列,為int型自增長子段 alter table #t add [myid] int NOT NULL IDENTITY(1,1) --添加一列,默認填充全球唯一標識 alter table #t add [myid1] uniqueidentifier NOT NULL default(newid())   select * from #t drop table #t--給查詢結果集增加自增長列   --無主鍵時: select IDENTITY(int,1,1)as ID, Name,[Login],[Password] into #t from ST_User select * from #t   --有主鍵時: select (select SUM(1) from ST_User where ID<= a.ID) as myID,* from ST_User a order by myID--定義表變量 declare @t table(     id int not null,     msg nvarchar(50) null) insert into @t values(1,'1') insert into @t values(2,'2') select * from @t 三、循環--while循環計算1到100的和 declare @a intdeclare @sum intset @a=1 set @sum=0 while @a<=100 begin    set @sum+=@a     set @a+=1 endprint @sum四、條件語句--if,else條件分支 if(1+1=2) begin    print '對'endelsebegin    print '錯'end  --when then條件分支 declare @today intdeclare @week nvarchar(3) set @today=3 set @week=case    when @today=1 then '星期一'    when @today=2 then '星期二'    when @today=3 then '星期三'    when @today=4 then '星期四'    when @today=5 then '星期五'    when @today=6 then '星期六'    when @today=7 then '星期日'    else '值錯誤'endprint @week 五、游標declare @ID intdeclare @Oid intdeclare @Login varchar(50)   --定義一個游標 declare user_cur cursor for select ID,Oid,[Login] from ST_User --打開游標 open user_cur while @@fetch_status=0 begin--讀取游標     fetch next from user_cur into @ID,@Oid,@Login     print @ID     --print @Login endclose user_cur --摧毀游標 deallocate user_cur六、觸發器  觸發器中的臨時表:  Inserted   存放進行insert和update 操作后的數據   Deleted   存放進行delete 和update操作前的數據--創建觸發器 Create trigger User_OnUpdate      On ST_User      for Update As     declare @msg nvarchar(50)     --@msg記錄修改情況     select @msg = N'姓名從“' + Deleted.Name + N'”修改為“' + Inserted.Name + '”' from Inserted,Deleted     --插入日志表     insert into [LOG](MSG)values(@msg)       --刪除觸發器 drop trigger User_OnUpdate七、存儲過程--創建帶output參數的存儲過程 CREATE PROCEDURE PR_Sum     @a int,     @b int,     @sum int outputASBEGIN    set @sum=@a+@b END  --創建Return返回值存儲過程 CREATE PROCEDURE PR_Sum2     @a int,     @b intASBEGIN    Return @a+@b END      --執行存儲過程獲取output型返回值 declare @mysum intexecute PR_Sum 1,2,@mysum outputprint @mysum   --執行存儲過程獲取Return型返回值 declare @mysum2 intexecute @mysum2= PR_Sum2 1,2 print @mysum2   八、自定義函數  函數的分類:    1)標量值函數    2)表值函數        a:內聯表值函數        b:多語句表值函數    3)系統函數  --新建標量值函數 create function FUNC_Sum1 (     @a int,     @b int) returns intasbegin    return @a+@b end  --新建內聯表值函數 create function FUNC_UserTab_1 (     @myId int) returns tableasreturn (select * from ST_User where ID<@myId)   --新建多語句表值函數 create function FUNC_UserTab_2 (     @myId int) returns @t table(     [ID] [int] NOT NULL,     [Oid] [int] NOT NULL,     [Login] [nvarchar](50) NOT NULL,     [Rtx] [nvarchar](4) NOT NULL,     [Name] [nvarchar](5) NOT NULL,     [Password] [nvarchar](max) NULL,     [State] [nvarchar](8) NOT NULL) asbegin    insert into @t select * from ST_User where ID<@myId     returnend  --調用表值函數 select * from dbo.FUNC_UserTab_1(15) --調用標量值函數 declare @s intset @s=dbo.FUNC_Sum1(100,50) print @s   --刪除標量值函數 drop function FUNC_Sum1談談自定義函數與存儲過程的區別:一、自定義函數:  1. 可以返回表變量  2. 限制頗多,包括    不能使用output參數;    不能用臨時表;    函數內部的操作不能影響到外部環境;    不能通過select返回結果集;    不能update,delete,數據庫表;  3. 必須return 一個標量值或表變量  自定義函數一般用在復用度高,功能簡單單一,爭對性強的地方。二、存儲過程  1. 不能返回表變量  2. 限制少,可以執行對數據庫表的操作,可以返回數據集  3. 可以return一個標量值,也可以省略return   存儲過程一般用在實現復雜的功能,數據操縱方面。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久久影视| 欧美成人在线网站| 91免费精品国偷自产在线| 在线激情影院一区| 91精品视频在线| www.美女亚洲精品| 久久影视电视剧免费网站清宫辞电视| 黄色一区二区三区| 欧美电影院免费观看| 久99久在线视频| 亚洲精品成人久久| 国产精品视频精品| 久久精品国产一区二区电影| 欧美乱妇高清无乱码| 欧美激情一级精品国产| 欧美老肥婆性猛交视频| 亚洲free性xxxx护士hd| 国产精品综合不卡av| 亚洲成人激情视频| 视频一区视频二区国产精品| 高清亚洲成在人网站天堂| 午夜精品99久久免费| 欧美一级片免费在线| 91精品国产成人| 日韩高清人体午夜| 亚洲综合国产精品| 中文字幕亚洲欧美日韩高清| 国产精品成人aaaaa网站| 2021久久精品国产99国产精品| 欧美人与性动交a欧美精品| 成人国产在线视频| 欧美视频一区二区三区…| 久久久成人精品| 日韩在线视频一区| 国产精品wwww| 欧洲成人在线视频| 国产ts一区二区| 97欧美精品一区二区三区| 国产精品日本精品| 大量国产精品视频| 欧美在线视频网站| 成人激情免费在线| 亚洲国产欧美一区| 久久久免费观看| 日韩一区二区三区在线播放| 欧美高跟鞋交xxxxxhd| 国产成人97精品免费看片| 米奇精品一区二区三区在线观看| 精品亚洲永久免费精品| 亚洲欧美精品suv| 国产精品女主播视频| 日韩男女性生活视频| 91亚洲精品在线观看| 成人久久精品视频| 91po在线观看91精品国产性色| 久久精品中文字幕一区| 国产一区香蕉久久| 久久国产精品首页| 日韩在线视频二区| 国产亚洲视频中文字幕视频| 中文字幕亚洲一区在线观看| 欧美黄色片在线观看| 国产精品678| 久久91精品国产91久久跳| 欧美影院在线播放| 欧美三级欧美成人高清www| 亚洲欧美精品suv| 久久久综合免费视频| 国产精品色悠悠| 日韩视频在线观看免费| 亚洲综合中文字幕在线观看| 久久这里有精品| 欧美丰满少妇xxxxx做受| 中文字幕在线观看亚洲| 欧美日韩精品在线播放| 自拍偷拍亚洲一区| 国产日韩av在线| 亚洲美女中文字幕| 91日本在线视频| 国产精品成人v| 91精品一区二区| 综合国产在线视频| 国产婷婷成人久久av免费高清| 国产精品视频免费在线| 欧美电影在线观看网站| 久久久国产成人精品| 久久亚洲国产成人| 国产午夜精品久久久| 亚洲xxxxx性| 亚洲大尺度美女在线| 久久免费观看视频| 亚洲欧美视频在线| 91国产高清在线| 成人免费自拍视频| 欧美另类暴力丝袜| 成人免费网站在线看| 日韩福利伦理影院免费| 国产精品一区av| 97高清免费视频| 亚洲自拍在线观看| 日本精品久久电影| 欧美成人四级hd版| 欧美黑人性生活视频| 97视频国产在线| 欧美日韩成人精品| 亚洲欧美日韩天堂| 日韩激情片免费| 久久99热这里只有精品国产| 欧美激情在线有限公司| 日韩中文字幕av| 精品国产乱码久久久久久天美| 亚洲品质视频自拍网| 91禁外国网站| 91豆花精品一区| 91国产精品91| 亚洲福利视频免费观看| 亚洲日韩欧美视频一区| 久久伊人精品一区二区三区| 亚洲理论片在线观看| 欧美制服第一页| 欧美亚洲国产视频小说| 国产精品pans私拍| 亚洲成人久久一区| 久久国产精品影片| 欧美黑人性猛交| 97视频免费在线看| 欧美精品在线观看91| 色婷婷亚洲mv天堂mv在影片| 欧美专区在线观看| 精品在线小视频| 精品中文字幕视频| 国产亚洲成精品久久| 57pao成人永久免费视频| 欧美大片免费看| 国产精品爽爽ⅴa在线观看| 最近2019年手机中文字幕| 亚洲男人av在线| 成人免费自拍视频| 亚洲黄色免费三级| www.日韩av.com| 在线看日韩欧美| 日韩成人在线观看| 欧美www在线| 欧美猛交ⅹxxx乱大交视频| 成人免费午夜电影| 91精品国产沙发| 日本欧美精品在线| 国产精品揄拍一区二区| 国产男人精品视频| 久久久久久久久久久人体| 亚洲夜晚福利在线观看| 国产精品成人一区二区| 欧美国产精品va在线观看| 精品国产户外野外| 2018中文字幕一区二区三区| 国产精品亚洲欧美导航| 麻豆国产精品va在线观看不卡| 午夜精品久久久久久久99热浪潮| 久青草国产97香蕉在线视频| 国产深夜精品福利| 97精品伊人久久久大香线蕉| 日韩av在线网页| 亚洲视频专区在线| www.欧美精品一二三区|