我正在使用Flyway來爲我的SQL Server 2014數據庫進行數據庫版本控制。我有800多個存儲過程。QUOTED_IDENTIFIER在使用Flyway遷移800多個存儲過程時在某些存儲過程中引發
在初始遷移中,對於大約394個存儲過程,QUOTED_IDENTIFIER
設置爲OFF
。但是,當我單獨遷移它作爲唯一存儲過程時,QUOTED_IDENTIFIER
設置爲ON
。
總是默認值QUOTED_IDENTIFIER
是ON
。
我試着在JTDS
連接字符串中設置QUOTED_IDENTIFIER
的值(QUOTED_IDENTIFIER=ON
)但沒用。
有沒有解決方法?
我想知道爲什麼'Quoted_Identifier'屬性只設置爲'OFF'對於某些存儲過程。舉個例子,如果我執行46個存儲過程中的6個'Quoted_Identifier'屬性設置爲'OFF'。如果該值沒有專門設置爲「OFF」,那麼我們可以在創建期間爲存儲過程將'Quoted_Identifier'值設置爲'ON'嗎? – zeee
如果你不在每個'create procedure'語句的前面調用'set quoted_identifier on',那麼這個過程將繼承當前的連接設置。這些設置通常由不同的人「感染」(重新)創建過程,而不考慮這些粘性屬性。如果有人運行'alter procedure',它也會在當時選擇環境設置。 – Clay