从视图创建表

tdj*_*jdj 44 sql t-sql view

我有一个视图,我想在SQL企业管理器中创建一个表,但我在运行此查询时总是收到错误:

CREATE TABLE A 
AS
(SELECT top 10 FROM dbo.myView)
Run Code Online (Sandbox Code Playgroud)

到目前为止,错误是:"as'的语法错误"

视图太大了.可以使用前10名吗?

Qua*_*noi 86

SQL Server不支持CREATE TABLE AS SELECT.

用这个:

SELECT  *
INTO    A
FROM    myview
Run Code Online (Sandbox Code Playgroud)

要么

SELECT  TOP 10
        *
INTO    A
FROM    myview
ORDER BY
        id
Run Code Online (Sandbox Code Playgroud)

  • @vizyourdata:将其作为 SQL Server 代理作业运行 (2认同)
  • 很好,但如果您不需要数据,只需要模式,下面的更好 (2认同)

Pit*_*DBA 39

如果您只想阻止架构并从中创建一个空表,请使用false谓词,如下所示:

SELECT * INTO myNewTable FROM myView WHERE 1=2
Run Code Online (Sandbox Code Playgroud)


Dan*_*rth 10

在SQL SERVER中,你这样做:

SELECT *
INTO A
FROM dbo.myView
Run Code Online (Sandbox Code Playgroud)

这将创建一个A包含视图内容的新表.
有关详细信息,请参见此处


Kei*_*ith 7

要动态创建表,请使用以下语法:

SELECT *
INTO A
FROM dbo.myView
Run Code Online (Sandbox Code Playgroud)