繁体   English   中英

在CTE表达式之后插入语句

[英]Insert statement after CTE expression

我在cte表达式后有一条插入语句,如下所示

WITH d as 
(Select t1,t2 from test)

Insert into test2 (t1,t2) select t1,t2 from d

当我将其作为查询运行时,此表达式可以正常工作,但是我需要为此创建一个视图,并且在视图中使用它时,出现错误“关键字'INSERT'附近的语法不正确”,这可能是问题所在吗?

如果要在您要插入的查询上创建视图,请使用以下命令:

CREATE VIEW
        myview
AS
WITH    d as 
        (
        SELECT  t1, t2
        FROM    test
        )
SELECT  t1, t2
FROM    d

然后,您可以像使用任何其他表一样将视图用作INSERT的源:

INSERT
INTO    test2 (t1, t2)
SELECT  *
FROM    myview

在RDBMS中,您具有执行某些操作的语句

  • 插入
  • 删除
  • 改变
  • 创造
  • ...

您可以将它们放入Stored ProcedureTrigger

其他操作是只读的

  • 选择

您可以将其放入ViewFunction

VIEW是存储的SELECT的名称。 你在那里什么都不能改变...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM