[英]Temporary Table creation Issue in SQL Server 2005
當我創建並將值插入臨時表時,我在 SQL Server 2005 數據庫中收到此錯誤。
消息 102,第 15 級,State 1,第 5 行
',' 附近的語法不正確
但是當我在 SQL Server 2008 及更高版本中運行確切的代碼時,我可以成功創建行。
OLDER VERSION 有限制嗎? 還是只是一些設置問題?
這些是我的代碼作為示例
create table #CustCodesMapping
(
NewCustCode varchar(30),
OldCustCode varchar(30) collate database_default
)
insert into #CustCodesMapping
values ('11111', 'aaaaa'), ('22222', 'bbbbb'), ('33333', 'ccccc')
但是當我只添加一個值時,它可以工作
create table #CustCodesMapping
(
NewCustCode varchar(30),
OldCustCode varchar(30) collate database_default
)
insert into #CustCodesMapping
values ('11111', 'aaaaa')
重申我的評論:
為什么你還在用 SQL Server 2005,已經完全不支持 5~ 年了; 很久以前就升級了。
至於問題,還是因為您使用的是 SQL 服務器的過時版本。 SQL Server 2008 中引入了允許多行的VALUES
(這也是完全不支持的)。 您必須在 2005 年使用非常古老的方法:
CREATE TABLE #CustCodesMapping (NewCustCode varchar(30),
OldCustCode varchar(30) COLLATE DATABASE_DEFAULT);
INSERT INTO #CustCodesMapping (NewCustCode,OldCustCode)
SELECT '11111',
'aaaaa'
UNION ALL
SELECT '22222',
'bbbbb'
UNION ALL
SELECT '33333',
'ccccc';
但真正的解決方案是升級到受支持的版本。 不幸的是,當您使用 2005 時,這意味着 2 次升級。 2005 -> 2012 -> 支持的版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.