今天遇到一個情況
if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FactOrder]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
CREATE TABLE dbo.FactOrder
(
Code varchar(10) collate database_default not null
,FlowNo varchar(10) collate database_default not null
,CONSTRAINT[PK_FactOrder]
PRIMARY KEY CLUSTERED([Code] ASC,[FlowNo] ASC)
WITH (IGNORE_DUP_KEY=OFF)
ON[PRIMARY]
)
ON[PRIMARY]
END
以上一段SQL是SQL2005產生的格式,但在SQL2000是無法運行的。
原因就在於SQL2000不支持針對單個表的WITH (IGNORE_DUP_KEY=OFF)。
但2000下給的提示 : 行 49: '(' 附近的語法不正確。 有點讓人摸不著頭腦。所以用慣了SQL2005而回到2000下,有些細節問題就要多多注意了。