INSERT文法提示一例

來源:互聯網
上載者:User
技巧|文法 在SQL Server線上圖書(SSBOL)中,請定位sp_dbcmptlevel,然後找出描述6.0、6.5和7.0之間版本相容性的資料表  
。你可以注意到INSERT SQL語句有如下所示的文法。


INSERT X
SELECT select_list INTO Y


早期的SQL Server資料庫(6.0或者6.5版本)可以正確地解析這樣的語句,但新的SQL Server資料庫(7.0 或者8.0版本)就不能正確解析了。雖然文法中的Y 在任何相容級設定下都不用做插入操作的接收者,但舊的資料庫還允許這樣的文法存在。這種文法在新的資料庫中都因其更嚴格的語法檢查而無法執行,然而,這種"嚴格要求"卻讓使用者編寫的代碼更具穩固性。


以下是一個可以在SQL Server 7.0 或者2000上啟動並執行簡單指令碼,該指令碼說明了以上的文法如何通過舊資料庫的測試但卻不能通過新資料庫的檢查。


SET NOCOUNT OFF
GO
USE pubs
GO
IF EXISTS (SELECT * FROM sysobjects WHERE type =
'U' AND name = 'test')
BEGIN
DROP TABLE test
END
GO
CREATE TABLE test (col1 INT NULL, col2 INT NULL)
GO
EXEC sp_dbcmptlevel pubs, 65
GO
INSERT test
SELECT 1 ,1 INTO y
GO
EXEC sp_dbcmptlevel pubs, 70
GO
INSERT test
SELECT 2 ,1 INTO y
GO



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。