【发布时间】:2018-02-16 15:59:52
【问题描述】:
我正在尝试在存储过程中使用 select into 语句创建一个临时表,如下所示:
SELECT *
INTO #GENEALOGY
FROM
(
SELECT field1, field2,
(SELECT fieldA from tableY WHERE...) as field3,
(SELECT fieldB from tableY WHERE...) as field4
FROM table
WHERE condition
)
我在这个右括号之后键入的任何命令都无法通过语法检查(例如另一个 SELECT 语句)。 我尝试在整个语句之前和之后放置 BEGIN 和 END,然后开始我的下一个命令。 我试过添加
AS tablename
在右括号之后,然后是下一个语句,但它也不喜欢这样
我已经尝试删除 # 但同样的问题。
我实际上需要在此之后运行一个 WHILE 循环并将更多记录插入到同一个表中。
我做错了什么?
谢谢
【问题讨论】:
-
您使用的是哪个 dbms? (该代码似乎是特定于产品的。)
-
猜测这是 SQL Server,您将需要
)之后的别名,但否则这是正确的。如果它是 SQL Server 并且别名没有解决您的问题,则它是您的 proc 中未显示的其他内容。错误信息是什么? -
你得到什么错误?
-
大家好,很抱歉延迟回复并感谢 cmets。
-
是的,它是 SQL Server。没有实际的错误消息,因为我还不能运行该程序。我只是通过下一个动词下的红色波浪线,这似乎是说我的语法是错误的。也许我不应该担心这个,然后继续努力
标签: sql select stored-procedures