我在觸發器上寫陳述句如下:
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO
CREATE TRIGGER DO_INSERT ON SC_DO_TEMP
FOR INSERT
AS
.................
GO
當我寫完執行后再打開觸發器一看它自動轉換成如下陳述句:
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
ALTER TRIGGER DO_INSERT ON SC_DO_TEMP
FOR INSERT
AS
.................
請各位高手指點,除此之外還有沒有另外的方法,(要實作的功能是在SERVER1上寫入資料是通過觸發器直接倒進另以SERVER2上)
在不搞出來有可能我會被公司T走
~~~ 拯救我這個可憐人呀~~~~
uj5u.com熱心網友回復:
先搞明白前面那幾句話的含義,就好辦了。我估計是由于你下面的觸發器代碼引起的。
先可以寫一個最簡單的試試。
http://msdn.microsoft.com/zh-cn/library/ms188048.aspx
SET ANSI_NULLS (Transact-SQL)
當 SET ANSI_NULLS 為 ON 時,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 陳述句仍回傳零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 陳述句仍會回傳零行。
當 SET ANSI_NULLS 為 OFF 時,等于 (=) 和不等于 (<>) 比較運算子不遵守 ISO 標準。使用 WHERE column_name = NULL 的 SELECT 陳述句回傳 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 陳述句回傳列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 陳述句回傳所有不為 XYZ_value 也不為 NULL 的行。
http://msdn.microsoft.com/zh-cn/library/ms190368.aspx
SET ANSI_WARNINGS (Transact-SQL)
# 設定為 ON 時,如果聚合函式(如 SUM、AVG、MAX、MIN、STDEV、STDEVP、VAR、VARP 或 COUNT)中出現空值,將生成警告訊息。設定為 OFF 時,不發出警告。
# 設定為 ON 時,被零除錯誤和算術溢位錯誤將導致回滾陳述句,并生成錯誤訊息。設定為 OFF 時,被零除錯誤和算術溢位錯誤將導致回傳空值。如果在 character、Unicode 或 binary 列上嘗試執行 INSERT 或 UPDATE 操作,而這些列中的新值長度超出最大列大小,則將出現被零除錯誤和算術溢位錯誤導致回傳空值的行為。如果 SET ANSI_WARNINGS 為 ON,則根據 ISO 標準,將取消 INSERT 或 UPDATE 操作。字符列的尾隨空格和二進制列的尾隨零都將被忽略。設定為 OFF 時,資料將剪裁為列的大小,并且陳述句執行成功。
http://msdn.microsoft.com/zh-cn/library/ms174393.aspx
SET QUOTED_IDENTIFIER (Transact-SQL)
當 SET QUOTED_IDENTIFIER 為 ON 時,識別符號可以由雙引號分隔,而文字必須由單引號分隔。當 SET QUOTED_IDENTIFIER 為 OFF 時,識別符號不可加引號,且必須符合所有 Transact-SQL 識別符號規則。有關詳細資訊,請參閱識別符號。文字可以由單引號或雙引號分隔。
當 SET QUOTED_IDENTIFIER 為 ON(默認值)時,由雙引號分隔的所有字串都被解釋為物件識別符號。因此,加引號的識別符號不必符合 Transact-SQL 識別符號規則。它們可以是保留關鍵字,并且可以包含 Transact-SQL 識別符號中通常不允許的字符。不能使用雙引號分隔文字字串運算式,而必須用單引號括住文字字串。如果單引號 (') 是文字字串的一部分,則可以由兩個單引號 (") 表示。當對資料庫中的物件名使用保留關鍵字時,SET QUOTED_IDENTIFIER 必須為 ON。
當 SET QUOTED_IDENTIFIER 為 OFF 時,運算式中的文字字串可以由單引號或雙引號分隔。如果文字字串由雙引號分隔,則可以在字串中包含嵌入式單引號,如省略號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/99355.html
標籤:數據庫相關
下一篇:動態修改代碼中的某些行
