从视图创建表

时间:2011-07-14 14:03:45

标签: sql tsql view

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

CREATE TABLE A 
AS
(SELECT top 10 FROM dbo.myView)

到目前为止,错误是:“'as'”语法错误

查看太大了。是否可以使用前10名?

9 个答案:

答案 0 :(得分:81)

SQL Server不支持CREATE TABLE AS SELECT

使用此:

SELECT  *
INTO    A
FROM    myview

SELECT  TOP 10
        *
INTO    A
FROM    myview
ORDER BY
        id

答案 1 :(得分:38)

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

SELECT * INTO myNewTable FROM myView WHERE 1=2

答案 2 :(得分:9)

在SQL SERVER中,你可以这样做:

SELECT *
INTO A
FROM dbo.myView

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

答案 3 :(得分:3)

如果您想创建新的A,可以使用INTO;

select * into A from dbo.myView

答案 4 :(得分:3)

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

SELECT *
INTO A
FROM dbo.myView

答案 5 :(得分:2)

SELECT * INTO [table_a] FROM dbo.myView

答案 6 :(得分:1)

看起来很像Oracle,但这在SQL Server上不起作用。

您可以采用以下语法...

SELECT
  *
INTO
  new_table
FROM
  old_source(s)

答案 7 :(得分:0)

Select 
    MonthEndDate MED,  
    SUM(GrossBalance/1000000) GrossBalance,
    PortfolioRename PR 
into 
    testDynamic 
from 
    Risk_PortfolioOverview  
    Group By MonthEndDate, PortfolioRename

答案 8 :(得分:0)

INSERT INTO表2 SELECT * FROM table1 / view1