SQL Enterprise Managerでテーブルを作成するビューがありますが、このクエリを実行すると常にエラーが発生します。
CREATE TABLE A
AS
(SELECT top 10 FROM dbo.myView)
これまでのエラーは、「 'as'の構文エラー」です。
ビューが大きすぎます。トップ10を使用することは可能ですか?
SQL Server
はCREATE TABLE AS SELECT
をサポートしていません。
これを使って:
SELECT *
INTO A
FROM myview
または
SELECT TOP 10
*
INTO A
FROM myview
ORDER BY
id
スキーマをスナッグして空のテーブルを作成するだけの場合は、次のように偽の述語を使用します。
SELECT * INTO myNewTable FROM myView WHERE 1=2
SQL SERVERでは、次のようにします。
SELECT *
INTO A
FROM dbo.myView
これにより、ビューの内容を含む新しいテーブルA
が作成されます。
詳細については、 here を参照してください。
オンザフライでテーブルを作成するには、次の構文を使用します。
SELECT *
INTO A
FROM dbo.myView
新しいA
を作成する場合は、INTO
を使用できます。
select * into A from dbo.myView
SELECT * INTO [table_a] FROM dbo.myView
Oracleによく似ていますが、SQL Serverでは機能しません。
代わりに、次の構文を採用できます...
SELECT
*
INTO
new_table
FROM
old_source(s)
Select
MonthEndDate MED,
SUM(GrossBalance/1000000) GrossBalance,
PortfolioRename PR
into
testDynamic
from
Risk_PortfolioOverview
Group By MonthEndDate, PortfolioRename