Laʻasaga taʻitasi i lea Laasaga i le Faʻateʻaina o le TAITAI ... CATCH e Faʻamauina Tapaʻiga o Tūmau SQL

Faailoa mea sese e aunoa ma le faalavelaveina o le faatinoga

O le TRY ... CATCH faʻamatalaga i le Transact- SQL e iloa ai ma faʻaaogaina tulaga faʻasalalau i totonu o lau faʻamatalaga tuʻufaʻatasiga. O lenei faʻamatalaga o le maatulimanu o le faʻaogaina o mea sese a SQL Server ma o se vaega tāua o le atinaʻeina o masini komepiuta e faʻaogaina ai le database. TRY ... CATCH e faʻaaoga i le SQL Server e amata atu i le 2008, Database Database Database, Fale Faʻamaumauga Faʻamaumauga o SQL Faʻasaʻo ma Faʻatau Fesootaiga Faʻamaumauga.

Faailoaina o le TULAGA FAʻAALIGA..CATCH

TRY ... CATCH galue e ala i le faʻatagaina o oe e faʻamalamalama ni faʻamatalaga Transact-SQL: tasi e te manaʻo e "taumafai" ma le isi e faʻaaoga e "puʻe" soʻo se mea sese e ono tulaʻi mai. A osofaʻia e SQL Server se TRY ... CATCH faʻamatalaga, e vave ona faʻaaogaina le faʻamatalaga o loʻo aofia i le fuaiupu TRY. Afai o le TRY faʻamatalaga faʻamalosia, o le a tuʻufaʻatasia SQL Server. Ae peitaʻi, afai o le TRY faʻamatalaga e gaosia ai se mea sese, e faʻatinoina e le SQL Server le faʻamatalaga CATCH e taulimaina ma le alofa le mea sese.

O le tuufaatasiga autu e faia ai lenei pepa:

FAIGALUEINA LĒ TALIINA [sql_statement | faʻamatalaga_block} FAʻATASI TAITĀINA LE TULAGA [{sql_statement | faʻamatalaga_block}] TULAGA FAʻATASI [; ]

TRY ... CATCH Faataitaiga

E sili ona faigofie le malamalama i le faʻaaogaina o lenei faʻamatalaga e ala i le faʻaaogaina o se faʻataʻitaʻiga. Vaʻai faalemafaufau o oe o le pule o se 'upega tafaʻilagi o punaoa a tagata e aofia ai le laulau e taʻua o "Tagata faigaluega," o loʻo i ai faʻamatalaga e uiga i tagata taitoatasi o lau faʻalapotopotoga. O lena laulau e faʻaaogaina ai le numera ID numera o le numera autu . E mafai ona e taumafai e faʻaaoga le faʻamatalaga o loʻo i lalo e faʻaofi ai se tagata faigaluega fou i totonu o lau 'upega tafaʻilagi:

TAMAITI I totonu o tagata faigaluega (ID, igoa muamua, igoa mulimuli, faʻaopoopoga) VALUES (12497, 'Mike', 'Chapple', 4201)

I lalo o tulaga masani, o lenei faʻamatalaga o le a faʻaopopo ai se laina i le laulau o Tagata faigaluega. Ae peitaʻi, afai o loʻo i ai se tagata faigaluega i le ID 12497 i totonu o le faʻamaumauga, o le faʻaofiina o le laina o le a soli ai le matua autu autu ma mafua ai i le mea sese lea:

Msg 2627, Level 14, Setete 1, Laina 1 Faʻaleagaina o PRIMARY KEY faʻalavelave 'PK_employee_id'. E le mafai ona faʻaofi le kopi lona lua i le 'dbo.emploies' object. Ua uma le faamatalaga.

E ui lava o lenei mea sese e maua ai oe i le faʻamatalaga e te manaʻomia e foia ai le faafitauli, e lua mataupu e iai. Muamua, o le savali o se tagi. E aofia ai faʻamaoniga sese, numera numera ma isi faʻamatalaga e le mafaamatalaina i le aufaʻatasi. Lona lua, ma sili atu ona taua, o le mafuaʻaga lea e mafua ai le faʻamatalaga ma mafai ona mafua ai se mea na tupu.

O le filifiliga o le afifi lea o le faʻamatalaga i se faʻamatalaga TRY ... CATCH, e pei ona faʻaalia i lalo:

FAIGALUEGA FAITAUINA I TATOU tagata faigaluega (ID, igoa muamua, igoa faaiu, faaopoopoga) VALUES (12497, 'Mike', 'Chapple', 4201) ILOILOINA LE FAʻAMATALAGA O LE CATCH PRINT 'Error:' + ERROR_MESSAGE (); EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Mailing worker', @recipients = 'hr@foo.com', @body = 'Ua tupu se mea na tupu ai le fatuina o se faamaumauga fou a le aufaigaluega.', @subject = 'Faʻailoga o le Faʻasologa o ID ID'; FAʻAALIGA CATCH

I lenei faʻataʻitaʻiga, soʻo se mea sese e tupu e lipotia i le tagata e faʻaaogaina le poloaiga ma le tuatusi i le imeli hr@foo.com. O le sese na faʻaalia i le tagata faʻaoga o loʻo faʻaalia i lalo:

Faʻasalaga: Faʻasalaga o le PRIMARY KEY constraint 'PK_employee_id'. E le mafai ona faʻaofi le kopi lona lua i le 'dbo.emploies' object. Meli lafoina.

O le mea pito sili ona taua, o loʻo faʻaauauina pea le faʻaaogaina o le faatinoga, e mafai ai e le tagata fai polokalame ona taulimaina ma le agalelei le mea sese. Faʻaaogaina o le TRY ... CATCH faʻamatalaga o se auala faʻalelei e iloa ai ma faʻapipiʻi faʻamaonia mea e tupu i totonu o le database SQL Server database.

Aoao atili

Afai e te manaʻo e aʻoaʻo atili e uiga i le gagana Structured Query, faitau Folasaga i le SQL .