果醬
常用存儲過程語法收藏
一.注釋
-- 單行注釋,從這到本行結束為注釋,類似C++,c#中//
/* … */ 多行注釋,類似C++,C#中/* … */
二.變量(int, smallint, tinyint, decimal,float,real, money ,smallmoney, text ,image, char, varchar。。。。。。)
語法:
DECLARE
{
{@local_variable data_type}
} [,...n]
例如:
declare @ID int --申明一個名為@ID的變量,類型為int型
三.在SQL Server窗口中打印出變量的值
語法:
PRINT 'any ASCII text' | @local_variable | @@FUNCTION | string_expr
四.變量賦值
例如:
--從數據表中取出第一行數據的ID,賦值給變量@id,然后打印出來
Declare @ID int
Set @ID = (select top(1) categoryID from categories)
Print @ID
在SQL中,我們不能像代碼那樣直接給變量賦值,例如@id = 1,如果要達到這樣的功能,可以這樣寫:
Declare @ID int
Set @ID = (select 1) -- 類似 @ID=1
Select @id=1 -- 類似 @ID=1
Print @ID
五.變量運算(+,-,*,/,……)
以下必要時候省略變量申明
Set @ID = (select 1+5) --類似 @ID=1+5
Set @ID=(select 1-@ID) --類似 @ID=1-@ID
六.比較操作符
• > (greater than).
• < (less than).
• = (equals).
• <= (less than or equal to).
• >= (greater than or equal to).
• != (not equal to).
• <> (not equal to).
• !< (not less than).
• !> (not greater than).
沒什么說的
七.語句塊:Begin … end
將多條語句作為一個塊,類似與C++,C#中的{ }
例如:
Begin
Set @ID1 = (select 1)
Set @ID2 = (select 2)
End
八.If, if…else…
語法:
IF Boolean_expression
{sql_statement | statement_block}
[ELSE
{sql_statement | statement_block}]
例如:
If @id is not null
Print ‘@id is not null
if @ID = 1
begin
Set @ID = (select 1 + 1)
end
else
begin
set @ID=(select 1+2)
end
上面的例子用到了比較操作符,語句塊,和IF的語法。
九.執行其他存儲過程 EXEC
例如
EXEC dbo.[Sales by Year] @Beginning_Date=’1/01/90’, @Ending_Date=’1/01/08’
十.事務
語法:
BEGIN TRAN[SACTION] [transaction_name | @tran_name_variable]
例如
BEGIN TRAN
-- 做某些操作,例如Insert into …
if @@error <> 0
BEGIN
ROLLBACK TRAN
END
else
BEGIN
COMMIT TRAN
END
十一.游標
我們可以在存儲過程中用Select語句取出每一行數據進行操作,這就需要用到游標。
語法:
DECLARE cursor_name CURSOR
[LOCAL | GLOBAL]
[FORWARD_ONLY | SCROLL]
[STATIC | KEYSET | DYNAMIC | FAST_FORWARD]
[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]
[TYPE_WARNING]
FOR select_statement
[FOR UPDATE [OF column_name [,...n]]]
例如:
DECLARE @au_id varchar(11), @au_fname varchar(20) –申明變量
--申明一個游標
DECLARE authors_cursor CURSOR FOR
SELECT au_id, au_fname FROM authors
--打開游標
OPEN authors_cursor
--取出值
FETCH NEXT FROM authors_cursor INTO @au_id, @au_fname
--循環取出游標的值
WHILE @@FETCH_STATUS = 0
BEGIN
Print @au_id
Print @au_fname
Print ‘ ’
FETCH NEXT FROM authors_cursor
INTO @au_id, @au_fname
END
CLOSE authors_cursor –關閉游標
DEALLOCATE authors_cursor --釋放游標
我覺得上面的是存儲過程常用的一些東東,如果要更深入的了解,更詳細的幫助,請參考SQL Server的幫助文檔
posted on 2011-07-18 17:35
七孑
閱讀(236)
評論(0)
編輯
收藏
所屬分類:
SQL相關
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
SQL中的各種JOIN(inner join,full outer join,left join,right join,cross join )(轉載)
java 調用存儲過程 實例(轉)
常用存儲過程語法收藏
Powered by:
BlogJava
Copyright © 七孑
<
2025年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
導航
BlogJava
首頁
新隨筆
聯系
聚合
管理
統計
隨筆 - 3
文章 - 14
評論 - 3
引用 - 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆分類
Java小技巧(1)
(rss)
隨筆檔案
2011年10月 (1)
2011年7月 (2)
文章分類
DOJO(3)
(rss)
Java web技術(4)
(rss)
SQL相關(3)
(rss)
SSH構架精要(2)
(rss)
經典算法典藏(2)
(rss)
文章檔案
2012年11月 (1)
2012年8月 (1)
2012年7月 (1)
2012年6月 (1)
2011年8月 (1)
2011年7月 (9)
搜索
最新評論
1.?re: Java 排列組合的有趣算法
評論內容較長,點擊標題查看
--zudaima
2.?re: 編寫 JSF 自定義復合組件的技巧和竅門[未登錄]
清單 2. 重用標準渲染器創建自定義復合組件
下面的那段代碼是哪個文件的啊?
--aaa
3.?re: JSF的commandButton、commandLink、outputLink用法小結
很不錯~~
--sss
閱讀排行榜
1.?java得到文件路徑下的所有文件名(2247)
2.?js常用的語句,用的時候以備不時之需(轉)(358)
3.?MyEclipse 快捷鍵(275)
評論排行榜
1.?java得到文件路徑下的所有文件名(0)
2.?MyEclipse 快捷鍵(0)
3.?js常用的語句,用的時候以備不時之需(轉)(0)
主站蜘蛛池模板:
司法
|
永平县
|
荔浦县
|
蓬安县
|
奇台县
|
蛟河市
|
息烽县
|
浑源县
|
南召县
|
高碑店市
|
崇仁县
|
绵阳市
|
比如县
|
城步
|
拜泉县
|
万荣县
|
疏附县
|
兴安盟
|
手机
|
特克斯县
|
永德县
|
枣阳市
|
镇江市
|
海兴县
|
林周县
|
云浮市
|
大名县
|
高陵县
|
阳东县
|
台北县
|
通山县
|
视频
|
林州市
|
牟定县
|
高阳县
|
武陟县
|
张掖市
|
石景山区
|
江永县
|
边坝县
|
子洲县
|