欧美……一区二区三区,欧美日韩亚洲另类视频,亚洲国产欧美日韩中字,日本一区二区三区dvd视频在线

深圳市普索進(jìn)出口貿(mào)易有限公司

當(dāng)前位置:深圳市普索進(jìn)出口貿(mào)易有限公司>>C>>circuitdesign>>OMBIS 250 A103WTRIDONIC ATCO OMBIS 250 A103W鎮(zhèn)流器價(jià)格

TRIDONIC ATCO OMBIS 250 A103W鎮(zhèn)流器價(jià)格

參   考   價(jià):面議
具體成交價(jià)以合同協(xié)議為準(zhǔn)

產(chǎn)品型號(hào):OMBIS 250 A103W

品       牌:其他品牌

廠商性質(zhì):代理商

所  在  地:深圳市

更新時(shí)間:2020-06-09 12:00:56瀏覽次數(shù):301

聯(lián)系我時(shí),請(qǐng)告知來(lái)自 化工儀器網(wǎng)
應(yīng)用領(lǐng)域 醫(yī)療衛(wèi)生,生物產(chǎn)業(yè),地礦,交通,印刷包裝
用途:工廠自動(dòng)控制設(shè)備用,功能:為控制設(shè)備接收發(fā)射無(wú)線信號(hào),適用網(wǎng)絡(luò)類(lèi)型:無(wú)線網(wǎng)絡(luò)
TRIDONIC ATCO OMBIS 250 A103W鎮(zhèn)流器價(jià)格

TRIDONIC ATCO OMBIS 250 A103W鎮(zhèn)流器價(jià)格

普索貿(mào)易

1、所有產(chǎn)品直接通過(guò)德國(guó)*采購(gòu),歐元交易享受歐盟區(qū)域特殊折扣。

2、所有產(chǎn)品100%*,原廠Packing List、Invoice、原廠證明、原產(chǎn)地證明、德國(guó)香港海關(guān)關(guān)単手續(xù)齊全。

3、歐盟境內(nèi)5000余家供應(yīng)商,包含施耐德、菲尼克斯等3000多個(gè)工控自動(dòng)化品牌,500多份原廠提供價(jià)格表迅速報(bào)價(jià)。

4、每周法蘭克福-香港空運(yùn)專(zhuān)線,香港-深圳72小時(shí)清關(guān),貨期優(yōu)勢(shì)較北京、上海等更加快速靈活。

5、公司內(nèi)部無(wú)紙化ERP辦公,詢(xún)報(bào)價(jià)處理及時(shí)快速!

由于產(chǎn)品型號(hào)眾多,網(wǎng)上表述不全,如需型號(hào)確認(rèn)或,歡迎咨詢(xún);我們將以認(rèn)真負(fù)責(zé)的態(tài)度、周到細(xì)致的服務(wù)處理您的每一次來(lái)電。

TRIDONIC ATCO OMBIS 250 A103W鎮(zhèn)流器價(jià)格

 

TRIDONIC ATCO品牌 

TRIDONIC ATCO型號(hào)

TRIDONIC ATCO廠家

TRIDONIC ATCO價(jià)格

TRIDONIC ATCO代理

TRIDONIC ATCO分銷(xiāo)

TRIDONIC ATCO現(xiàn)貨

TRIDONIC ATCO資料

TRIDONIC ATCO中國(guó)

Tridonic 生產(chǎn):LED驅(qū)動(dòng)器、熒光燈鎮(zhèn)流器、電子HID控制裝置、電子鹵素變壓器、

作為的智能和高效照明解決方案的全供應(yīng)商,Tridonic今天通過(guò)使照明更智能,更精彩,更可持續(xù)發(fā)展,使其客戶和業(yè)務(wù)合作伙伴更加成功。

作為Zumtobel集團(tuán)的一部分,Tridonic公司總部設(shè)在奧地利的多恩比恩

ATCO / Tridonic高強(qiáng)氣體放電燈電感式鎮(zhèn)流器和配件 HID BALLASTS

我們還做以下型號(hào),歡迎咨詢(xún):

OMB 50 A153K 230/240/50 030A066T
OMB 50 A504K 220-240/50 030A098T
OMB 50 A604K 220-240/50 030A098T
OMB 80 A103K 230/240/50 030A092T
OMB 80 A106K 220-240/60 035A097T
OMB 80 A153K 230/240/50 030A066T
OMB 80 A504K 220-240/50 030A098T
OMB 125 A501K 230/50 045A113T
OMB 125 A504K 220-240/50 045A113T
OMB 125 A604K 220-240/50 045A113T
OMB 250 A500K 220/50 085A153T
OMB 250 A504K 220-240/50 085A153T
OMB 250 A604K 220-240/50 085A153T
OMB 400 A504K 220-240/50 120A188T
OMB 400 A604K 220-240/50 120A188T
OMB 400 B107K 220-240/60 150A212T
OMBIS 35 A504K 220-240/50 030A098T
OMBIS 35 A604W 220-240/50 030A098T
OMBIS 35 B101W 230/50 035A097T
OMBIS 35 B103W 230-250/50 035A097T
OMBIS 35 B153W 230-250/50 035A071T
OMBIS 35 B604W 220-240/50 035A103T
OMBIS 70 A101W 230/50 045A107T
OMBIS 70 A103W 230-250/50 045A107T
OMBIS 70 A106W 220-240/60 045A107T
OMBIS 70 A153W 230-250/50 045A081T
OMBIS 70 A504K 220-240/50 045A113T
OMBIS 70 A504W 220-240/50 045A113T
OMBIS 70 A604K 220-240/50 045A113T
OMBIS 70 A604W 220-240/50 045A113T
OMBIS 70 B103W 230-250/50 055A117T
OMBIS 70 B153W 230-250/50 055A091T
OMBIS 70 B604W 220-240/50 055A123T
OMBIS 70 C103W 230-250/50 065A127T
OMBIS 70 C153W 230-250/50 065A101T
OMBIS 100 A103W 230-250/50 055A117T
OMBIS 100 A106W 220-240/60 055A117T
OMBIS 100 A504W 220-240/50 055A123T
OMBIS 100 A604W 220-240/50 055A123T
OMBIS 100 C103W 230-250/50 075A137T
OMBIS 150 A103W 230-250/50 075A137T
OMBIS 150 A106W 220-240/60 075A137T
OMBIS 150 A153W 230-250/50 075A111T
OMBIS 150 A504K 220-240/50 075A143T
OMBIS 150 A504W 220-240/50 075A143T
OMBIS 150 A604K 220-240/50 075A143T
OMBIS 150 A604W 220-240/50 075A143T
OMBIS 150 B103W 230-250/50 085A147T
OMBIS 150 B151W 230/50 085A121T
OMBIS 150 B153W 230-250/50 085A121T
OMBIS 150 B604W 220-240/50 085A153T
OMBIS 150 C153W 230-250/50 105A141T
OMBIS 150 Z501K 230/50 065A133T
OMBIS 250 A153W 230-250/50 150A186T
OMBIS 250 Z502K 240/50 120A188T
OMBIS 250 Z504K 220-240/50 120A188T
OMBIS 250 Z505K 220/50 120A188T
OMBIS 250 Z604W 220-240/50 120A188T
OMBIS 1/2 250 B103W 230-250/50 085A147T
OMBS 50 A504W 220-240/50 035A103T
OMBS 50 A604W 220-240/50 035A103T
OMBIS 35 A203D 230-250/50 030A092T
OMBIS 70 A203D 230-250/50 045A107T
OMBIS 70 A253D 230-250/50 045A081T
OMBIS 100 A203D 230-250/50 055A117T
OMBIS 150 A204D 220-240/50 075A137T
OMBIS 150 B253D 230-250/50 085A121T
OMB 80/50 A201B 230/50 035A097T
OMB 80/50 A211B 230/50 035A117T
OMB 125/80 A251B 230/50 055A091T
OMBS 50/35 A201D 230/50 045A107T
OMBS 50/35 A251D 230/50 045A081T
OMBS 70/50 A201D 230/50 055A117T
OMBS 70/50 A251D 230/50 055A091T
OMBS 100/70 A251D 230/50 065A101T
OMBS 150/100 A201D 230/50 105A167T
OMBS 150/100 A251D 230/50 105A141T
OMB 80/50 A103K 230-240/50 035A097T
OMB 80/50 A153K 230/240/50 035A071T
OMB 80/50 A503K 230/240/50 035A103T
OMB 80/50 A603K 230/240/50 035A103T
OMB 125/80 A103K 230-240/50 055A117T
OMB 125/80 A503K 230/240/50 055A123T
OMB 125/80 A603K 230/240/50 055A123HL
OMB 125/80 Z603K 230/240/50 045A113T
OMBS 50/35 A603W 230/240/50 045A113PL
OMBS 70/50 A103W 230/240/50 055A117T
OMBS 70/50 A503W 230/240/50 055A123T
OMBS 70/50 A603W 230/240/50 055A123T
OMBS 70/50 Z603W 230/240/50 045A113T
OMBS 70/50 Z603W 230/240/50 045A113HL
OMBS 100/70 A153W 230/240/50 065A101T
OMBS 100/70 A503W 230/240/50 065A133T
OMBS 100/70 A603W 230/240/50 065A133T
OMBS 150/100 A103W 230/240/50 105A167T
OMBS 150/100 A153W 230/240/50 105A141T
OMBS 150/100 A503W 230/240/50 105A173T
OMBS 150/100 A603W 230/240/50 105A173T
OMBIS 35 PB503W 230/240/50 035A103T
OMBS 50 PA503W 230/240/50 035A103
OMBS 70 PA503W 230/240/50 045A113HL
OMBS 70 PA503W 230/240/50 045A113T
OMBI 70 PA503W 230/240/50 045A113HL
OMBI 70 PA503W 230/240/50 045A113T
OMBIS 100 PA503W 230/240/50 055A123T
OMBIS 100 PA503W 230/240/50 055A123HL
OMBIS 150 PA503W 230/240/50 075A143HL
OMBIS 150 PB503W 230/240/50 085A153T
OMBIS 150 PB503W 230/240/50 085A153HL
OMBIS 250 PZ503W 230/240/50 120A188HL
OMB SDW 35 B153W 220-240/50 035A071T
OMB SDW 50 B153W 220-240/50 040A076T
OMB SDW 100 B153W 220-240/50 075A111T
OGL 250W 30 220-240/50 030A084
OGL 400 C044K 220-240/50 040V130PL
OGL 400W 40 220-240/50 040A094
OGL 700W 80 220-240/50 080A134
OGL 1000W 120 220-240/50 120B174
OGLI 2000W 160 380-415/50 160B214
OGLI 2000W 180 380-415/50 180B234
OGLI 2000W 180 380-415/60 180B234VG
OGLI 2000W 210 380-420/50 210B268HL
OGLIS 250 C044W 220-240/50 040V130PL
OGLIS 250W 40 230-250/50 040A094 TP
OGLS 400 C044W 220-240/50 060V150
OGLS 400W 60 220-240/50 060A114 TP
OGLS 400W 60 220-240/60 060A114
OGLS 600 A046W 380-415/50 080V170
OGLS 600 A026W 380-415/50 080A134
OGLS 600W 80 220-240/60 080A134
OGLS 600W 100 220-240/50 100B154 TP
OGLIS 1000 A024W 220-240/50 140A194
OGLIS 1000W 140 220-240/60 140B194
OGLIS 250 C203D 230-250/50 040A094
OGLS 400 C203D 230-250/50 060A114
OGLS 250/150 C043W 230/240/50 060V150
OGLS 400/250 C043W 230/240/50 080V170
OGLIS 250 PC023W 230/240/50 040A094
OGLS 400 PC043W 230/240/50 060V150HL
OGLI 400 PC043W 230/240/50 050V140
OGLIS 1000 PC023W 230/240/50 180B234HL
OGLI 2000 PC026K 380/400/50 210B268HL
OGLI 2000 PC027K 360-400/50 210B268VGHL
ECM 50 A90 230/50 090A165
ECM 80 A140 230/50 140A231
ECIS 35 C90 230-250/50 090B165 TP
ECIS 70 A140 230-250/50 140B215 TP
OMB 50 A604K
OMB 125 A604K
OMB 250 A604K
OMB 400 A604K
OMB 80/50 A603K
OMB 125/80 A603K
OMB 125/80 Z603K

Ballasts in standard design
OMB 50 A504K 220-240/50 030A098T
OMB 80 A504K 220-240/50 030A098T
OMB 125 A501K 230/50 045A113T
OMB 125 A504K 220-240/50 045A113T
OMB 250 A500K 220/50 085A153T
OMB 250 A504K 220-240/50 085A153T
OMB 400 A504K 220-240/50 120A188T
Ballasts with power tapping
OMB 80/50 A503K 230/240/50 035A103T
OMB 125/80 A503K 230/240/50 055A123T

OMB 50 A504K
OMB 80 A504K
OMB 125 A501K
OMB 125 A504K
OMB 250 A500K
OMB 250 A504K
OMB 400 A504K
OMB 80/50 A503K
OMB 125/80 A503K
Ballasts in standard design
OMB 80 A103K 230/240/50 030A092T 20571079
Ballasts with power tapping
OMB 80/50 A103K 230/240/50 035A097T 20574609
OMB 125/80 A103K 230/240/50 055A117T 20574618
Ballasts with double insulation and power tapping
OMB 80/50 A201B 230/50 035A097T 22148967
OMB 80/50 A211B 230/50 035A117T 22148968
Ballasts for 60 Hz
OMB 80 A106K 220-240/60 035A097T 20574671
OMB 400 B107K 220-240/60 150A212T 20888680
OMB 80 A103K 20571079
OMB 80/50 A103K 20574609
OMB 125/80 A103K 20574618
OMB 80/50 A201B 22148967
OMB 80/50 A211B 22148968
OMB 80 A106K 20574671
OMB 400 B107K 20888680
Ballasts in standard design
OMB 50 A153K 230/240/50 030A066T 20824582
OMB 80 A153K 230/240/50 030A066T 20824609
Ballasts with power tapping
OMB 80/50 A153K 230/240/50 035A071T 20824624
Ballasts with double insulation and power tapping
OMB 125/80 A251B 230/50 055A091T 22148960
OMB 50 A153K 20824582
OMB 80 A153K 20824609
OMB 80/50 A153K 20824624
OMB 125/80 A251B 22148960

Ballasts in standard design
OMBIS 35 A604W 220-240/50 030A098T 22148862
OMBIS 35 B604W 220-240/50 035A103T 22148600
OMBS 50 A604W 220-240/50 035A103T 22148616
OMBIS 70 A604W 220-240/50 045A113T 22148601
OMBIS 70 A604K 220-240/50 045A113T 22148623
OMBIS 70 B604W 220-240/50 055A123T 22148602
OMBIS 100 A604W 220-240/50 055A123T 22148604
OMBIS 150 A604W 220-240/50 075A143T 22148606
OMBIS 150 A604K 220-240/50 075A143T 22148629
OMBIS 150 B604W 220-240/50 085A153T 22148607
OMBIS 250 Z604W 220-240/50 120A188T 22149045
Ballasts with power tapping
OMBS 50/35 A603W 230/240/50 045A113PL 22118832
OMBS 70/50 Z603W 230/240/50 045A113T 22158510
OMBS 70/50 A603W 230/240/50 055A123T 22148603
OMBS 70/50 Z603W 230/240/50 045A113HL 22148581
OMBS 100/70 A603W 230/240/50 065A133T 22148605
OMBS 150/100 A603W 230/240/50 105A173T 22148608

OMBIS 35 A604W 22148862
OMBIS 35 B604W 22148600
OMBS 50 A604W 22148616
OMBIS 70 A604W 22148601
OMBIS 70 A604K 22148623
OMBIS 70 B604W 22148602
OMBIS 100 A604W 22148604
OMBIS 150 A604W 22148606
OMBIS 150 A604K 22148629
OMBIS 150 B604W 22148607
OMBIS 250 Z604W 22149045
OMBS 50/35 A603W 22118832
OMBS 70/50 Z603W 22158510
OMBS 70/50 A603W 22148603
OMBS 70/50 Z603W 22148581
OMBS 100/70 A603W 22148605
OMBS 150/100 A603W 22148608

Ballasts in standard design
OMBIS 35 A504K 220-240/50 030A098T 22148876
OMBS 50 A504W 220-240/50 035A103T 22175084
OMBIS 70 A504K 220-240/50 045A113T 22148718
OMBIS 70 A504W 220-240/50 045A113T 22148680
OMBIS 100 A504W 220-240/50 055A123T 22148805
OMBIS 150 A504K 220-240/50 075A143T 22148719
OMBIS 150 A504W 220-240/50 075A143T 22148782
OMBIS 150 Z501K 230/50 065A133T 22175139
OMBIS 250 Z502K 240/50 120A188T 22175116
OMBIS 250 Z504K 220-240/50 120A188T 22175072
OMBIS 250 Z505K 220/50 120A188T 22175029
Ballasts with power tapping
OMBS 70/50 A503W 230/240/50 055A123T 22175085
OMBS 10070 A503W 230/240/50 065A133T 22175086
OMBS 150/100 A503W 230/240/50 105A173T 22175087

OMBIS 35 A504K 22148876
OMBS 50 A504W 22175084
OMBIS 70 A504K 22148718
OMBIS 70 A504W 22148680
OMBIS 100 A504W 22148805
OMBIS 150 A504K 22148719
OMBIS 150 A504W 22148782
OMBIS 150 Z501K 22175139
OMBIS 250 Z502K 22175116
OMBIS 250 Z504K 22175072
OMBIS 250 Z505K 22175029
OMBS 70/50 A503W 22175085
OMBS 10070 A503W 22175086
OMBS 150/100 A503W 22175087
OMBIS 35 PB503W 230/240/50 035A103T 22148609
OMBS 50 PA503W 230/240/50 035A103T 22158567
OMBS 70 PA503W 230/240/50 045A113T 22148611
OMBI 70 PA503W 230/240/50 045A113T 22148610
OMBI 70PA503W 230/240/50 045A113HL 22158576
OMBIS 100 PA503W 230/240/50 055A123T 22148612
OMBIS 100 PA503W 230/240/50 055A123HL 22158566
OMBIS 150 PB503W 230/240/50 085A153T 22148613
OMBIS 150 PA503W 230/240/50 075A143HL 22149207
OMBIS 150 PB503W 230/240/50 085A153HL 22158565
OMBIS 250 PZ 503W 230/240/50 120A188HL 22149230
OMBIS 35 PB503W 22148609
OMBS 50 PA503W 22158567
OMBS 70 PA503W 22148611
OMBI 70 PA503W 22148610
OMBI 70PA503W 22158576
OMBIS 100 PA503W 22148612
OMBIS 100 PA503W 22158566
OMBIS 150 PB503W 22148613
OMBIS 150 PA503W 22149207
OMBIS 150 PB503W 22158565
OMBIS 250 PZ 503W 22149230

Ballasts in standard design
OMBIS 35 B103W 230-250/50 035A097T 20569782
OMBIS 35 B101W 230/50 035A097T 20578455
OMBIS 70 A103W 230-250/50 045A107T 20568074
OMBIS 70 B103W 230-250/50 055A117T 20575741
OMBIS 70 C103W 230-250/50 065A127T 20820295
OMBIS 70 A101W 230/50 045A107T 20568096
OMBIS 70 B153W 230-250/50 055A091T 22148804
OMBIS 100 A103W 230-250/50 055A117T 20568891
OMBIS 100 C103W 230-250/50 075A137T 20570572
OMBIS 150 A103W 230-250/50 075A137T 20568879
OMBIS 150 B103W 230-250/50 085A147T 20568863
OMBIS 150 B151W 230/50 085A121T 20824456
OMBIS 250 1/2 B103W 230-250/50 085A147T 20575656
Ballasts with double insulation
OMBIS 35 A203D 230-250/50 030A092T 22148980
OMBIS 70 A203D 230-250/50 045A107T 22148982
OMBIS 100 A203D 230-250/50 055A117T 22148971
OMBIS 150 A204D 220-240/50 075A137T 22148972
Ballasts with power tapping
OMBS 70/50 A103W 230/240/50 055A117T 20885000
OMBS 100/70 A103W 230/240/50 065A127T 20885053
OMBS 150/100 A103W 230/240/50 105A167T 20885094

OMBIS 35 B103W 20569782
OMBIS 35 B101W 20578455
OMBIS 70 A103W 20568074
OMBIS 70 B103W 20575741
OMBIS 70 C103W 20820295
OMBIS 70 A101W 20568096
OMBIS 70 B153W 22148804
OMBIS 100 A103W 20568891
OMBIS 100 C103W 20570572
OMBIS 150 A103W 20568879
OMBIS 150 B103W 20568863
OMBIS 150 B151W 20824456
OMBIS 250 1/2 B103W 20575656
OMBIS 35 A203D 22148980
OMBIS 70 A203D 22148982
OMBIS 100 A203D 22148971
OMBIS 150 A204D 22148972
OMBS 70/50 A103W 20885000
OMBS 100/70 A103W 20885053
OMBS 150/100 A103W 20885094
OMBS 50/35 A201D 22148992
OMBS 70/50 A201D 22148994
OMBS 150/100 A201D 22148989
OMBIS 70 A106W 20574788
OMBIS 100 A106W 20574794
OMBIS 150 A106W 20571288

Ballasts in standard design
OMBIS 35 B153W 230-250/50 035A071T 20824173
OMBIS 70 A153W 230-250/50 045A081T 20824220
OMBIS 70 C153W 230-250/50 065A101T 20824343
OMBIS 150 A153W 230-250/50 075A111T 20880440
OMBIS 150 B153W 230-250/50 085A121T 20824469
OMBIS 150 C153W 230-250/50 105A141T 20824504
OMBIS 250 A153W 230-250/50 150A186T 20824891
Ballasts with double insulation
OMBIS 70 A253D 230-250/50 045A081T 22148985
OMBIS 150 B253D 230-250/50 085A121T 22148973
Ballasts with power tapping
OMBS 100/70 A153W 230/240/50 065A101T 20885066
OMBS 150/100 A153W 230/240/50 105A141T 20885109
Ballasts with double insulation and power tapping
OMBS 50/35 A251D 230/50 045A081T 22148993
OMBS 70/50 A251D 230/50 055A091T 22148996
OMBS 100/70 A251D 230/50 065A101T 22148988
OMBS 150/100 A251D 230/50 105A141T 22148990

OMBIS 35 B153W 20824173
OMBIS 70 A153W 20824220
OMBIS 70 C153W 20824343
OMBIS 150 A153W 20880440
OMBIS 150 B153W 20824469
OMBIS 150 C153W 20824504
OMBIS 250 A153W 20824891
OMBIS 70 A253D 22148985
OMBIS 150 B253D 22148973
OMBS 100/70 A153W 20885066
OMBS 150/100 A153W 20885109
OMBS 50/35 A251D 22148993
OMBS 70/50 A251D 22148996
OMBS 100/70 A251D 22148988
OMBS 150/100 A251D 22148990
OMB SDW 35 B153W 220-240/50 035A071T 20823181
OMB SDW 50 B153W 220-240/50 040A076T 20881229
OMB SDW 100 B153W 220-240/50 075A111T 20823207
OMB SDW 35 B153W 20823181
OMB SDW 50 B153W 20881229
OMB SDW 100 B153W 20823207
OGL 250 W 30 220-240/50 030A084 20296024
OGL 400 W 40 220-240/50 040A094 20296030
OGL 700 W 80 220-240/50 080A134 20294541
OGL 1000 W 120 220-240/50 120B174 20295043
OGL 250 W 30 20296024 220 / 230 / 240 V 50 Hz
OGL 400 W 40 20296030 220 / 230 / 240 V 50 Hz
OGL 700 W 80 20294541 220 / 230 / 240 V 50 Hz
OGL 1000 W 120 20295043 220 / 230 / 240 V 50 Hz

Ballasts in standard design
OGLIS 250W 40 230-250/50 040A094 TP 20562752
OGLS 400 W 60 220-240/50 060A114 TP 20820138
OGLS 600W 100 220-240/50 100B154 TP 20882197
OGLIS 1000 A024W 220-240/50 140A194 22148490
Ballasts with double insulation
OGLIS 250 C203D 230-250/50 040A094 22149035
OGLS 400 C203D 230-250/50 060A114 22149038
Ballasts with pulser tapping
OGLIS 250 PC023W 230/240/50 040A094 22149231
OGLIS1000 PC023W 230/240/50 180B234HL 22148645
Ballasts for 60 Hz
OGLS 400W 60 220-240/60 060A114 20565518
OGLS 600W 80 220-240/60 080A134 20821091
OGLIS 1000W 140 220-240/60 140B194 20880891

OGLIS 250W 40 20562752 230 / 240 / 250 V 50 Hz
OGLS 400 W 60 20820138 220 / 230 / 240 V 50 Hz
OGLS 600W 100 20882197 220 / 230 / 240 V 50 Hz
OGLIS 1000 A024W 22148490 220 / 230 / 240 V 50 Hz
OGLIS 250 C203D 22149035 230 / 240 / 250 V 50 Hz
OGLS 400 C203D 22149038 230 / 240 / 250 V 50 Hz
OGLIS 250 PC023W 22149231 230 / 240 V 50 Hz
OGLIS1000 PC023W 22148645 230 / 240 V 50 Hz
OGLS 400W 60 20565518 220 / 230 / 240 V 60 Hz
OGLS 600W 80 20821091 220 / 230 / 240 V 60 Hz
OGLIS 1000W 140 20880891 220 / 230 / 240 V 60 Hz

Ballasts in standard design
OGLIS 250 C044W 220-240/50 040V130PL 89121836
OGLS 400 C044W 220-240/50 060V150 89121840
OGL 400 C044K 220-240/50 040V130PL 89121845
OGLS 600 A046W 380-415/50 080V170 89121976
OGLS 600 C045W 220-240/50 100V185HL 89121968
Ballasts with power tapping
OGLS 250/150 C043W 230/240/50 060V150 89121864
OGLS 400/250 W C043W 230/240/50 080V170 89121865
Ballasts with pulser tapping
OGLI 400 PC043W 230/240/50 050V140 89121866
OGLS 400 PC043W 230/240/50 060V150HL 89121873
OGLIS 250 C044W 89121836 220 / 230 / 240 V 50 Hz
OGLS 400 C044W 89121840 220 / 230 / 240 V 50 Hz
OGL 400 C044K 89121845 220 / 230 / 240 V 50 Hz
OGLS 600 A046W 89121976 380 / 400 / 415 V 50 Hz
OGLS 600 C045W 89121968 220 / 230 / 240 V 50 Hz
OGLS 250/150 C043W 89121864 230 / 240 V 50 Hz
OGLS 400/250 W C043W 89121865 230 / 240 V 50 Hz
OGLI 400 PC043W 89121866 230 / 240 V 50 Hz
OGLS 400 PC043W 89121873 230 / 240 V 50 Hz

Ballasts in standard design
OGLI 2000 W 160 380-415/50 160B214 20295037
OGLI 2000W 160 380-415/50 160B214VG 20560905
OGLI 2000 W 180 380-415/50 180B234 20566616
OGLI 2000W 180 380-415/50 180B234VG 20567317
OGLI 2000 W 210 380-420/50 210B268HL 20882285
OGLI 2000C027K 360-415/50 210B268VGHL 22148887
Ballasts with pulser tapping
OGLI 2000 W PC026K 380/400/50 210B268HL 22175007
OGLI 2000 W PC027K 360-400/50 210B268VGHL 22175009
Ballasts for 60 Hz
OGLI 2000 W 180 380-415/60 180B234VG 20563406
OGLI 2000 W 160 20295037 380 / 400 / 415 V 50 Hz
OGLI 2000W 160 20560905 380 / 400 / 415 V 50 Hz
OGLI 2000 W 180 20566616 380 / 400 / 415 V 50 Hz
OGLI 2000W 180 20567317 380 / 400 / 415 V 50 Hz
OGLI 2000 W 210 20882285 380 / 400 / 415 V 50 Hz
OGLI 2000C027K 22148887 380 / 400 / 415 V 50 Hz
OGLI 2000 W PC026K 22175007 380 / 400 V 50 Hz
OGLI 2000 W PC027K 22175009 360 / 380 / 400 V 50 Hz
OGLI 2000 W 180 20563406 380 / 400 / 415 V 60 Hz
ECM 50 A90 230/50 090A165 20569741
ECM 80 A140 230/50 140A231 22175043
ECM 50 A90 20569741 230 V 50 Hz
ECM 80 A140 22175043 230 V 50 Hz
ECIS 35 C90 230-250/50 090B165 TP 20566187
ECIS 70 A140 230-250/50 140B215 TP 20566335
ECIS 35 C90 20566187 230 / 240 / 250 V 50 Hz
ECIS 70 A140 20566335 230 / 240 / 250 V 50 Hz

ECF 8/485 A201B 230/240/50 ZIMP 87 22175046
ECF 10/485 A201B 230/240/50 ZIMP 87 22175074
ECF 12/485 A201B 230/240/50 ZIMP 87 22175047
ECF 20/485 A201B 230/240/50 ZIMP 87 22149227
ECF 32/485 A201B 230/240/50 ZIMP 113 22175048
ECF 8/485 A201B 230/240/50 ZIMP 87 22175046
ECF 10/485 A201B 230/240/50 ZIMP 87 22175074
ECF 12/485 A201B 230/240/50 ZIMP 87 22175047
ECF 20/485 A201B 230/240/50 ZIMP 87 22149227
ECF 32/485 A201B 230/240/50 ZIMP 113 22175048
ECF 8/485 A27 230/240/50 027A084 20560466
ECF 10/485 A27 230/240/50 027A084 20560494
ECF 12/485 A27 230/240/50 027A084 20566527
ECF 20/485 A27 230/240/50 027A084 20566549
ECF 25/485 A27 230/240/50 027A084 20825183
ECF 32/485 A27 230/240/50 027A084 20825199
ECF 45/485 A50 230/240/50 050A110 20820349
ECF 60/485 A50 230/240/50 050A151 20566568

ECF 8/485 A27 230/240/50 027A084 20560466
ECF 10/485 A27 230/240/50 027A084 20560494
ECF 12/485 A27 230/240/50 027A084 20566527
ECF 20/485 A27 230/240/50 027A084 20566549
ECF 25/485 A27 230/240/50 027A084 20825183
ECF 32/485 A27 230/240/50 027A084 20825199
ECF 45/485 A50 230/240/50 050A110 20820349
ECF 60/485 A50 230/240/50 050A151 20566568
OMF 37/485 400/50 055A125T 22175055
OMF 60/485 400/50 055A125T 20568154
OMF 37/485 400/50 055A125T 22175055
OMF 60/485 400/50 055A125T 20568154
OM PAK 35 M B113 230/240V 50Hz 22116414
OM PAK 70 M B113 230/240V 50Hz 20889779
OM PAK 150 M B113 230/240V 50Hz 22115639
OM PAK 35 M B113 22116414 230 / 240 V 50 Hz
OM PAK 70 M B113 20889779 230 / 240 V 50 Hz
OM PAK 150 M B113 22115639 230 / 240 V 50 Hz
OM PAK 35 M B513 230-250V 50Hz 1200 22116515
OM PAK 70 M B513 230-250V 50Hz 1200 22116537
OM PAK 150 M B513 230-250V 50Hz 1200 22116562
OM PAK 35 M B513 22116515 230 / 240 / 250 V
OM PAK 70 M B513 22116537 230 / 240 / 250 V
OM PAK 150 M B513 22116562 230 / 240 / 250 V
OM PAK 35 M B133 230/240V 50Hz 20889876
OM PAK 70 M B133 230/240V 50Hz 22115608
OM PAK 150 M B133 230/240V 50Hz 22115645
OM PAK 35 M B133 20889876 230 / 240 V 50 Hz
OM PAK 70 M B133 22115608 230 / 240 V 50 Hz
OM PAK 150 M B133 22115645 230 / 240 V 50 Hz
OM PAK 35 M B533 230-250V 50Hz 1200 22116506
OM PAK 70 M B533 230-250V 50Hz 1200 22116521
OM PAK 150 M B533 230-250V 50Hz 1200 22116559
OM PAK 35 M B533 22116506 230 / 240 / 250 V
OM PAK 70 M B533 22116521 230 / 240 / 250 V
OM PAK 150 M B533 22116559 230 / 240 / 250 V

Ignitor matrix
ZRM 2-ES/C
ZRM 2.5-ES/C
ZRM 4.5-ES/C
ZRM 6-ES/C
ZRM 6-ES/C 400
ZRM 6-ES/C 3.5 kV
ZRM 12-ES/C
ZRM 12-ES/C 400
ZRM 20-ES/B
ZRM 20-ES/B 400
ZRM 2-ES/CT
ZRM 2.5-ES/CT
ZRM 4.5-ES/CT
ZRM 6-ES/CT
ZRM 12-ES/CT
ZRM 4000 powerPULSE
ZRM 4000/400 powerPULSE
ZRM 2300 C201
ZRM 4000 C201
ZRM 4000 B101
ZRM 1000 A004
ZRM 1000 A005
ZRM 1200/400 A001


CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。CHECK 約束只能根據(jù)邏輯表達(dá)式或同一表中的另一列來(lái)驗(yàn)證列值。如果應(yīng)用程序要求根據(jù)另一個(gè)表中的列驗(yàn)證列值,則必須使用觸發(fā)器。約束只能通過(guò)標(biāo)準(zhǔn)的系統(tǒng)錯(cuò)誤信息傳遞錯(cuò)誤信息。如果應(yīng)用程序要求使用(或能從中獲益)自定義信息和較為復(fù)雜的錯(cuò)誤處理,則必須使用觸發(fā)器。
觸發(fā)器可通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改;不過(guò),通過(guò)級(jí)聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以禁止或回滾違反引用完整性的更改,從而取消所嘗試的數(shù)據(jù)修改。當(dāng)更改外鍵且新值與主鍵不匹配時(shí),此類(lèi)觸發(fā)器就可能發(fā)生作用。例如,可以在 titleauthor.title_id 上創(chuàng)建一個(gè)插入觸發(fā)器,使它在新值與 titles.title_id 中的某個(gè)值不匹配時(shí)回滾一個(gè)插入。不過(guò),通常使用 FOREIGN KEY 來(lái)達(dá)到這個(gè)目的。
如果觸發(fā)器表上存在約束,則在 INSTEAD OF 觸發(fā)器執(zhí)行后但在 AFTER 觸發(fā)器執(zhí)行前檢查這些約束。如果約束破壞,則回滾 INSTEAD OF 觸發(fā)器操作并且不執(zhí)行 AFTER 觸發(fā)器。
觸發(fā)器到底可不可以在視圖上創(chuàng)建 在 SQL Server™ 聯(lián)機(jī)叢書(shū)中,是沒(méi)有說(shuō)觸發(fā)器不能在視圖上創(chuàng)建的, 并且在語(yǔ)法解釋中表明:在 CREATE TRIGGER 的 ON 之后可以是視圖。 然而,事實(shí)似乎并不是如此,很多專(zhuān)家也說(shuō)觸發(fā)器不能在視圖上創(chuàng)建。我也專(zhuān)門(mén)作了測(cè)試,的確如此,不管是普通視圖還是索引視圖,都無(wú)法在上面創(chuàng)建觸發(fā)器,真的是這樣嗎?
但是無(wú)可厚非的是:當(dāng)在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器時(shí)會(huì)遭到拒絕。
深刻理解 FOR CREATE TRIGGER 語(yǔ)句的 FOR 關(guān)鍵字之后可以跟 INSERT、UPDATE、DELETE 中的一個(gè)或多個(gè),也就是說(shuō)在其它情況下是不會(huì)觸發(fā)觸發(fā)器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相關(guān)內(nèi)容 一個(gè)有趣的應(yīng)用我們看到許多注冊(cè)系統(tǒng)在注冊(cè)后都不能更改用戶名,但這多半是由應(yīng)用程序決定的, 如果直接打開(kāi)數(shù)據(jù)庫(kù)表進(jìn)行更改,同樣可以更改其用戶名, 在觸發(fā)器中利用回滾就可以巧妙地實(shí)現(xiàn)無(wú)法更改用戶名……詳細(xì)內(nèi)容 觸發(fā)器內(nèi)部語(yǔ)句出錯(cuò)時(shí)…… 這種情況下,前面對(duì)數(shù)據(jù)更改操作將會(huì)無(wú)效。舉個(gè)例子,在表中插入數(shù)據(jù)時(shí)觸發(fā)觸發(fā)器,而觸發(fā)器內(nèi)部此時(shí)發(fā)生了運(yùn)行時(shí)錯(cuò)誤,那么將返回一個(gè)錯(cuò)誤值,并且拒絕剛才的數(shù)據(jù)插入。不能在觸發(fā)器中使用的語(yǔ)句 觸發(fā)器中可以使用大多數(shù) T-SQL 語(yǔ)句,但如下一些語(yǔ)句是不能在觸發(fā)器中使用的。
 

 

 

D-A-mfg閥PRGM7-T

D-A-mfg閥PRGM7-TV-SS-AF1F2

德國(guó)ROPEX溫度控制器UPT

德國(guó)ROPEX溫度控制器UPT-640 CIRUS

德國(guó)ESM GmbH彈性支撐M

超過(guò)100000多臺(tái)裝備有ESM產(chǎn)品的風(fēng)力發(fā)電機(jī)組

會(huì)員登錄

X

請(qǐng)輸入賬號(hào)

請(qǐng)輸入密碼

=

請(qǐng)輸驗(yàn)證碼

收藏該商鋪

X
該信息已收藏!
標(biāo)簽:
保存成功

(空格分隔,最多3個(gè),單個(gè)標(biāo)簽最多10個(gè)字符)

常用:

提示

X
您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~

以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),化工儀器網(wǎng)對(duì)此不承擔(dān)任何保證責(zé)任。

溫馨提示:為規(guī)避購(gòu)買(mǎi)風(fēng)險(xiǎn),建議您在購(gòu)買(mǎi)產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。

撥打電話
在線留言
峨山| 靖远县| 伊宁县| 平南县| 吕梁市| 乐安县| 北票市| 揭西县| 广汉市| 兴文县| 万宁市| 南平市| 商洛市| 益阳市| 青浦区| 榕江县| 崇信县| 兴义市| 广东省| 大英县| 旌德县| 康保县| 西乌珠穆沁旗| 余江县| 江达县| 双城市| 黎城县| 吕梁市| 正定县| 巴楚县| 高尔夫| 拜泉县| 邵东县| 崇义县| 黄骅市| 秭归县| 溧阳市| 普兰县| 岑巩县| 环江| 迭部县|