嗨,当我执行以下TSQL时,出现以下错误消息。但是SQL语法没有错吗?
create table #tb ([t1] tinyint, [t2] varchar(50))
insert into #tb values
(1, 'a'),
(2, 'b')
Msg 102,第15级,状态1,第3行
','附近的语法不正确。
SQL查询窗口中没有其他内容。运行SQL Server 2005。
最佳答案
正如jmoreno所提到的,VALUES (), ()
语法受SQL Server 2008+支持,但是您将其标记为SQL Server 2005。
用:
CREATE TABLE #tb ([t1] tinyint, [t2] varchar(50))
INSERT INTO #tb
SELECT 1, 'a'
UNION ALL
SELECT 2, 'b'
也可以使用
SELECT ... INTO
clause在单个查询中执行此操作,但临时表尚不存在:SELECT *
INTO #tb
FROM (SELECT CAST(1 AS TINYINT) AS t1,
CAST('a' AS VARCHAR(50)) AS t2
UNION ALL
SELECT 2, 'b') x
关于sql - SQL Server,在SQL中创建临时表时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6104302/