佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 淺談Transact-SQL

淺談Transact-SQL

熱門標(biāo)簽:鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 百度競(jìng)價(jià)排名 AI電銷 服務(wù)外包 Linux服務(wù)器

Transact-SQL(又稱T-SQL),是在Microsoft SQL Server和Sybase SQL Server上的ANSI SQL實(shí)現(xiàn),與Oracle的PL/SQL性質(zhì)相近(不只是實(shí)現(xiàn)ANSI SQL,也為自身數(shù)據(jù)庫(kù)系統(tǒng)的特性提供實(shí)現(xiàn)支持),目前在Microsoft SQL Server和Sybase Adaptive Server中仍然被使用為核心的查詢語(yǔ)言。

Transact-SQL是具有批量與區(qū)塊特性的SQL指令集合,數(shù)據(jù)庫(kù)開(kāi)發(fā)人員可以利用它來(lái)撰寫數(shù)據(jù)部份的商業(yè)邏輯(Data-based Business Logic),以強(qiáng)制限制前端應(yīng)用程序?qū)?shù)據(jù)的控制能力。同時(shí),它也是數(shù)據(jù)庫(kù)對(duì)象的主要開(kāi)發(fā)語(yǔ)言。

語(yǔ)言結(jié)構(gòu)

Transact-SQL以ANSI SQL為主要組成,目前Microsoft實(shí)現(xiàn)的Transact-SQL可支持到ANSI SQL-92標(biāo)準(zhǔn)。

ANSI SQL基礎(chǔ)語(yǔ)法支持

DDL

主條目:數(shù)據(jù)定義語(yǔ)言

DDL(Data Definition Language)是對(duì)于數(shù)據(jù)庫(kù)對(duì)象的控制語(yǔ)法,對(duì)數(shù)據(jù)庫(kù)對(duì)象(如數(shù)據(jù)表,預(yù)存程序,函數(shù)或自定義類型等)的新增,修改和刪除都使用此語(yǔ)法。

CREATE(創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象)ALTER(修改數(shù)據(jù)庫(kù)對(duì)象)DROP(刪除數(shù)據(jù)庫(kù)對(duì)象)

DML

主條目:數(shù)據(jù)操縱語(yǔ)言

DML(Data Manipulation Language)是一般開(kāi)發(fā)人員俗稱的CRUD(Create/Retrieve/Update/Delete)功能,意指數(shù)據(jù)的新增/截?。薷模瘎h除四個(gè)功能。

SELECT(R)INSERT(C)UPDATE(U)DELETE(D)

DCL

主條目:數(shù)據(jù)控制語(yǔ)言

DCL(Data Control Language)是由數(shù)據(jù)庫(kù)所提供的保安功能,對(duì)于數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)對(duì)象的訪問(wèn)原則與權(quán)限,都由DCL定義之。

GRANT(賦與權(quán)限)REVOKE(撤消權(quán)限)批量

Transact-SQL可以使用分號(hào)";"來(lái)分區(qū)不同的SQL指令。例如:

INSERT INTO myTable (myText) VALUES (@myText); SELECT @@IDENTITY

控制流語(yǔ)法

Transact-SQL可支持下列的控制流程語(yǔ)法(control-flow):

BEGIN ... END,標(biāo)示SQL指令區(qū)塊,使用BEGIN ... END包裝的指令會(huì)被視為同一個(gè)指令區(qū)塊。IF ... ELSE的條件式,并可支持嵌套式的IF判斷式,若IF或ELSE中的指令包含兩個(gè)以上,則必須要使用BEGIN ... END來(lái)標(biāo)示區(qū)塊,否則會(huì)發(fā)生語(yǔ)法檢查錯(cuò)誤。WHILE循環(huán),這也是Transact-SQL中唯一支持的循環(huán),循環(huán)中的指令要用BEGIN...END包裝。RETURN,可強(qiáng)制終止區(qū)塊的運(yùn)行。WAITFOR,可強(qiáng)制讓陳述式等待指定時(shí)間后才繼續(xù)運(yùn)行。GOTO,可導(dǎo)向運(yùn)行指令到指定的位置。自定義變量

在Transact-SQL中,可以利用DECLARE來(lái)聲明變量,用SET來(lái)設(shè)置變量值,用SELECT @var = column的方式,由一個(gè)陳述式的回傳值中來(lái)取得變量值。

DECLARE @v INT -- declare a variableSET @v = 50 -- set variable directly.SELECT @v = SUM(Qty) FROM SaleItemRecords WHERE SaleID = 53928 -- set variable from a result of statement

錯(cuò)誤處理

Transact-SQL可以在區(qū)塊中使用下列方式來(lái)處理或引發(fā)錯(cuò)誤:

RAISERROR,擲出自定義的錯(cuò)誤狀況。TRY ... CATCH,使用結(jié)構(gòu)化的方式來(lái)處理錯(cuò)誤(只有Microsoft SQL Server實(shí)現(xiàn)的Transact-SQL支持)。PRINT,可以印出變量值。

微軟Transact-sql介紹地址:http://msdn.microsoft.com/zh-cn/library/bb510741.aspx

您可能感興趣的文章:
  • mysql報(bào)錯(cuò):Deadlock found when trying to get lock; try restarting transaction的解決方法
  • c#中SqlTransaction——事務(wù)詳解
  • mysql Non-Transactional Database Only(只支持MyISAM)
  • MySQL數(shù)據(jù)庫(kù)事務(wù)隔離級(jí)別介紹(Transaction Isolation Level)
  • Transact_SQL 小手冊(cè)
  • Sql Server數(shù)據(jù)庫(kù)常用Transact-SQL腳本(推薦)

標(biāo)簽:湖南 蘭州 衡水 崇左 仙桃 黃山 銅川 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談Transact-SQL》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    奉节县| 合山市| 苏尼特左旗| 广宗县| 改则县| 礼泉县| 商水县| 林甸县| 察隅县| 锡林浩特市| 眉山市| 平舆县| 盐津县| 凉山| 金坛市| 云安县| 水富县| 申扎县| 慈溪市| 方城县| 盐池县| 海淀区| 谢通门县| 涿州市| 盐津县| 甘孜县| 南充市| 闻喜县| 古交市| 琼中| 老河口市| 肇州县| 阿拉尔市| 钟祥市| 东至县| 习水县| 洛川县| 巴彦淖尔市| 富平县| 三原县| 县级市|