私はテーブルの上にselect文を使用したいと一時テーブル変数に結果を挿入するが、私は列を持つ一時テーブルを宣言していないと私はこのように使いたい:宣言テーブルなしで[* ttpテーブル]を選択するには?
Declare #tmp table;
SELECT * INTO #tmp FROM myTable
これは、列とデータを宣言したいです、とにかくだけ@table変数#TEMPテーブルには有効ではありません - #tmp
用のタイプがは私が
私はテーブルの上にselect文を使用したいと一時テーブル変数に結果を挿入するが、私は列を持つ一時テーブルを宣言していないと私はこのように使いたい:宣言テーブルなしで[* ttpテーブル]を選択するには?
Declare #tmp table;
SELECT * INTO #tmp FROM myTable
これは、列とデータを宣言したいです、とにかくだけ@table変数#TEMPテーブルには有効ではありません - #tmp
用のタイプがは私が
あなたは単にDECLAREコマンドなしでこれを行うことができます助けてください。最初#tmpを定義しようとせずに、単に以下を試してみました:データと
SELECT * INTO #tmp FROM myTable;
Aaronに感謝しますが、この方法ではsysテーブルにテーブルを作成します –
tempdb.sys.tablesにエントリを作成せずに#tempテーブルを作成するにはどうすればよいですか?なんで気にするの?とにかくtempdb.sys.tablesに行を生成せずに#tempテーブル(または@テーブル変数)を作成することはできません。 –
オハイオ州、はい。アロンに感謝します。私は手動でドロップテンポラリテーブルを決定する –
:
select *
into #tmp
from myTable
データはありません
select *
into #tmp
from myTable
where 0=1
ところで、あなたははこれを行うことはできませんテーブル変数を使用します。
select *
into @tmp
from myTable
テーブル変数は列で宣言する必要があります。
空を作成するための参照用に+1表。 –
@アロン - 正しい答えで最初から私のものが1つあります:) –
私は約3秒であなたを倒すことができますか? :-) –
select intoはテーブルの真のコピーではないことに注意してください。たとえば、ID列がある場合、このプロパティは保持されますが、他のテーブルのプロパティとオブジェクト(インデックス、制約、トリガなど)はコピーされません。 –