使用SQL語句創建存儲過程
使用SQL語句創建存儲的具體過程如下:
1、首先,打開企業管理器,選擇【工具】-【查詢分析器】:
2、然后,輸入SQL語句。如下:
CREATE PROCEDURE byroyalty1 @percentage int
AS
select au_id from titleauthor
where *yper = @percentage
GO
3、然后,點擊確定之后,命令就會自動添加進查詢中:
4、然后執行一下剛輸入的命令:
5、最后,就可以在彈出的小窗口中查看存儲過程了:
用SQL語句創建存儲過程
五、注意事項
:
存儲過程一般用來完成數據查詢和數據處理操作,
所以在存儲過程中不可以
使用創建數據庫對象的語句,
五、注意事項
:
存儲過程一般用來完成數據查詢和數據處理操作,
所以在存儲過程中不可以
使用創建數據庫對象的語句,
即在存儲過程中一般不能含有以下語句:
CREATE TABLE
;
CREATE VIEW
;
CREATE DEFAULT
;
CREATE RULE
;
CREATE TRIGGER
;
CREATE PROCEDURE
即在存儲過程中一般不能含有以下語句:
CREATE TABLE
;
CREATE VIEW
;
CREATE DEFAULT
;
CREATE RULE
;
CREATE TRIGGER
;
CREATE PROCEDURE
SQL語句創建存儲過程
create proc info1
@name
as
declare @sno varchar(20) --定義@sno,用于存放學號
declare @datetime varchar(20) --用于存放出生日期
dexlare @dept varchar(20) --用于存放系別
set @sno=(select sno from s where name=@name)--s表示存放學生信息的表
set @datetime=(select brontime from s where name=@name)--brontime
set @dept=(select dept from s where name=@name) 表示s表中存放出生日期的列
--dept表示s表中存放系別的列
print'學號'+@sno
print'姓名'+@name
print'出生日期'+@datetime
print'系別'+@dept
exec info1 '張三'
---第二題
create proc P_add
@m int,@sum int output
as
declare @i int
@sum=0
for(i=1;i<=@m;i++)
begin
@sum=@sum+i
end
--調用
declare @n int --定義@n用于存放@sum
exec P_add 5,@n output
print'累加是:'+convert(varchar(20),@n)
創建存儲過程的意義
第一:存儲過程因為SQL語句已經預編繹過了,因此運行的速度比較快。
第二:存儲過程可以接受參數、輸出參數、返回單個或多個結果集以及返回值。可以向程序返回錯誤原因。
第三:存儲過程運行比較穩定,不會有太多的錯誤。只要一次成功,以后都會按這個程序運行。
第四:存儲過程主要是在服務器上運行,減少對客戶機的壓力。
第五:存儲過程可以包含程序流、邏輯以及對數據庫的查詢。同時可以實體封裝和隱藏了數據邏輯。
第六:存儲過程可以在單個存儲過程中執行一系列 SQL 語句。
第七:存儲過程可以從自己的存儲過程內引用其它存儲過程,這可以簡化一系列復雜語句。
其實存儲過程還可以控制權限,比如一個表不直接允許用戶直接訪問,但要求允許用戶訪問和修改其中一個或多個字段,那就可以通過一個存儲過程來實現并允許該用戶使用該存儲過程。
還有,如果多條SQL語句執行過程中,過程環節返回了數據作為后面環節的輸入數據,如果直接通過SQL語句執行,勢必導致大量的數據通過網絡返回到客戶機,并在客戶機運算;如果封裝在存儲過程中,則將運算放在服務器進行,不但減少了客戶機的壓力,同時也減少了網絡流量,提高了執行的效率。
一般復雜的sql語句 需要用存儲過程!高效率的sql分頁等!
普通的沒有必要了!