一時テーブルを作成し、そのようにデータ型を宣言した後。
CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))
次に、データベース内の物理表にすでに保持されている関連データを挿入する方法を教えてください。
INSERT INTO #TempTable (ID, Date, Name)
SELECT id, date, name
FROM physical_table
すべての列からすべてのデータを挿入するには、これを使うだけです。
SELECT * INTO #TempTable
FROM OriginalTable
一時テーブルを完成させた後はDROP
を忘れずに、 の前に もう一度作成してみてください。
DROP TABLE #TempTable
SELECT ID , Date , Name into #temp from [TableName]
SQL ServerでのInsert
の私のやり方。また、私は通常一時テーブルが存在するかどうかをチェックします。
IF OBJECT_ID('tempdb..#MyTable') IS NOT NULL DROP Table #MyTable
SELECT b.Val as 'bVals'
INTO #MyTable
FROM OtherTable as b
SELECT *
INTO #TempTable
FROM table
正しいクエリ:
drop table #tmp_table
select new_acc_no, count(new_acc_no) as count1
into #tmp_table
from table
where unit_id = '0007'
group by unit_id, new_acc_no
having count(new_acc_no) > 1
一時テーブルを作成したら、通常のINSERT INTO () SELECT FROM
を実行します。
INSERT INTO #TempTable (id, Date, Name)
SELECT t.id, t.Date, t.Name
FROM yourTable t
同じ問題を解決するために2つの方法を提供しました。
解決策1:このアプローチには2つのステップがあります。最初に指定されたデータ型で一時テーブルを作成し、次に既存のデータテーブルから値を挿入します。
CREATE TABLE #TempStudent(tempID int, tempName varchar(MAX) )
INSERT INTO #TempStudent(tempID, tempName) SELECT id, studName FROM students where id =1
SELECT * FROM #TempStudent
解決策2:このアプローチは簡単です。一時テーブルに値を直接挿入できます。システムは自動的に元のテーブルと同じデータ型の一時テーブルを作成します。
SELECT id, studName INTO #TempStudent FROM students where id =1
SELECT * FROM #TempStudent
insert into #temptable (col1, col2, col3)
select col1, col2, col3 from othertable
これは悪い習慣と考えられていることに注意してください。
insert into #temptable
select col1, col2, col3 from othertable
一時テーブルの定義を変更すると、実行時にコードが失敗する可能性があります。
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
一時テーブルの基本的な操作は以下の通りです、あなたの要求に従って修正して使用してください、
- 一時テーブルの作成
CREATE TABLE #MyTempEmployeeTable(tempUserID varchar(MAX), tempUserName varchar(MAX) )
- 温度テーブルへの値の挿入
INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21
- QUERY A TEMP TABLE [これは同じセッション/インスタンスでのみ機能し、他のユーザーセッションインスタンスでは機能しない]
SELECT * FROM #MyTempEmployeeTable
- TEMP TABLEのDELETE値 -
DELETE FROM #MyTempEmployeeTable
- 一時テーブルを削除
DROP TABLE #MyTempEmployeeTable
insert #temptable
select idfield, datefield, namefield from yourrealtable