存儲過程和自定義函數的區別? 存儲過程的數據定義和普通的區別?

存儲過程的語法:
create procedure [擁有者] 存儲過程名[程序編號]
@[參數名] [類型],@[參數名] [類型] (最多1024個參數)
begin

end
參數:@參數名 數據類型[varying] [=內定值][output]
每個參數名前要有一個“@”符號
存儲過程例子:
create procedure order_tot_amt
@id int,
@name char(20) output
begin
select @name from *** where ****
end

存儲過程的調用: call order_tot_amt[參數名]
刪除存儲過程: drop procedure [存儲過程名]

創建普通函數:
create function function_name(name varchar(20),…) return 返回值類型
普通函數調用: select function_name(參數列表)
刪除: drop function if exists function_name(參數列表)
存儲過程中參數的定義與普通參數的定義:多了@操作符
存儲過程和自定義函數的區別:
1.自定義函數可以有返回值,存儲過程沒有返回值,但是可以輸出任意個參數
2.函數可以嵌入到SQL中使用,可以在select中調用,而存儲過程不行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章