一.腳本基礎(chǔ)
1.USE語句
設(shè)置當(dāng)前數(shù)據(jù)庫。
2.聲明變量
語法:DECLARE @變量名 變量類型
在聲明變量后,給變量賦值之前,變量的值為NULL。
將系統(tǒng)函數(shù)賦給聲明的變量,這個方法可以使我們能更安全地使用值,該值只有人為地改變時它才變動。如果直接使用系統(tǒng)函數(shù)本身,那么當(dāng)它發(fā)生變動時,有
時會無法確定其究竟為何,因為大多數(shù)系統(tǒng)函數(shù)值是由系統(tǒng)確定的。這容易在你不預(yù)期的情況下導(dǎo)致系統(tǒng)改變了值,引起不可預(yù)期的后果。
(1).給變量賦值
SET:當(dāng)進行變量賦值是,該值已經(jīng)知道是確切值或者是其他變量時,使用SET。
SELECT:當(dāng)變量賦值基于一個查詢時,使用SELECT。
(2).系統(tǒng)函數(shù)
SQL Server 2005中有30多個無參的系統(tǒng)函數(shù),其中一些最重要的如下:
@@ERROR: 返回當(dāng)前連接下,最后執(zhí)行的T-SQL語句的錯誤代碼,如無錯誤返回0。
@@FETCH_STATUS: 和FETCH語句配合使用。
@@IDENTITY: 返回最后一句運行語句的、自動生成的標(biāo)識值,作為最后INSERT或者SELECT INTO語句的結(jié)果。
@@ROWCOUNT: 返回最后一個語句影響的行數(shù)。
@@SERVERNAME: 返回腳本正在其上運行的本地服務(wù)的名字。
@@TRANCOUNT: 返回活動事務(wù)的數(shù)量,特別是針對當(dāng)前連接的事務(wù)的瓶頸程度。
二.批處理
(1).GO單獨占一行。在同一行上,T-SQL語句不能在GO語句之前。
(2).所有語句從腳本開始處或者上一個GO語句開始編譯,直到下一個GO語句或者腳本結(jié)束,將這段代碼編譯到一個執(zhí)行計劃中并相互獨立地送往服務(wù)器。前一
個執(zhí)行計劃中發(fā)生錯誤,不會影響后一個執(zhí)行計劃。
(3).GO不是一個T-SQL命令,只是被編輯工具識別的命令。當(dāng)編輯工具碰到GO,它把GO看做一個結(jié)束批處理的標(biāo)記,將其打包,然后作為一個獨立單元發(fā)送到
服務(wù)器——不包括GO,服務(wù)器對于GO沒有任何概念。
1.批處理中的錯誤
語法錯誤,運行時錯誤。
2.何時使用批處理
(1).獨自成批處理的語句
有幾個命令必須獨自成批處理,它們包括:
CREATE DEFAULT
CREATE PROCEDURE
CREATE RULE
CREATE TRIGGER
CREATE VIEW
如果想將這些語句中的任何一條和其他語句組成單獨的一個腳本,那么需要采用一個GO語句將它們分別斷開,歸入各自的批處理中。
(2).使用批處理建立優(yōu)先級
使用批處理最可靠的例子是,當(dāng)需要考慮語句執(zhí)行的優(yōu)先順序時,也就是說,需要一個任務(wù)在另一個任務(wù)開始前執(zhí)行。
例如:
CREATE DATABASE Test
標(biāo)簽:河源 貸款群呼 黃山 中衛(wèi) 新余 宜春 濟寧 金昌
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sqlserver 腳本和批處理指令小結(jié)》,本文關(guān)鍵詞 sqlserver,腳本,和,批處理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。