CREATE PROCEDURE p_PName

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供萊陽網(wǎng)站建設(shè)、萊陽做網(wǎng)站、萊陽網(wǎng)站設(shè)計(jì)、萊陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、萊陽企業(yè)網(wǎng)站模板建站服務(wù),10多年萊陽做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
@ID int
AS
begin
DECLARE @Num INT
end
如上為存儲(chǔ)過程模板,在AS之前的為存儲(chǔ)過程參數(shù),需要外部傳入或接受。調(diào)用方式如下。
exec p_PName @ID=1 或者 EXEC p_PName 1(省略參數(shù)名),但外部都是需要傳入的。
在AS后定義的變量,可以理解為臨時(shí)變量,外部是無法訪問到此變量的。
不可以,列名、表名都不能用變量,可以通過拼接字符,然后用exec來執(zhí)行 如,exec('update tb set '+列名變量+'='''+字符類的變量值+''' where 條件')
局部變量用一個(gè)@標(biāo)識(shí),全局變量用兩個(gè)@(常用的全局變量一般都是已經(jīng)定義好的);
申明局部變量語法:declare @變量名 數(shù)據(jù)類型;例如:declare @num int;
賦值:有兩種方法式(@num為變量名,value為值)
set @num=value; 或 select @num=value;
如果想獲取查詢語句中的一個(gè)字段值可以用select給變量賦值,如下:
select @num=字段名 from 表名 where ……
全局變量是系統(tǒng)預(yù)定義的,返回一些系統(tǒng)信息,全局變量以兩個(gè)at(@)開頭。
存儲(chǔ)過程里參數(shù)的默認(rèn)值不能使用函數(shù),所以不能在存儲(chǔ)過程里直接把參數(shù)的默認(rèn)值設(shè)置為當(dāng)前系統(tǒng)時(shí)間,不過可以在存儲(chǔ)過程里賦值。還有一點(diǎn)疑問,既然@myday是當(dāng)前系統(tǒng)時(shí)間了,為什么還要做成參數(shù)呢?
CREATE PROCEDURE pro_test
@myday char(10)
AS
set @myday=convert(char(10),getdate(),21)
update mytable set status = 1 where day@myday
GO
@myday不為參數(shù)時(shí)可以這么寫
CREATE PROCEDURE pro_test
AS
declare @myday char(10)
set @myday=convert(char(10),getdate(),21)
update mytable set status = 1 where day@myday
GO
名稱欄目:sqlserver定義變量,sql server定義變量
文章鏈接:http://chinadenli.net/article5/dsicsoi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、用戶體驗(yàn)、關(guān)鍵詞優(yōu)化、軟件開發(fā)、ChatGPT、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)