После создания временной таблицы и объявления таких типов данных, как:
CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))
Как мне вставить соответствующие данные, которые уже хранятся в физической таблице в базе данных?
После создания временной таблицы и объявления таких типов данных, как:
CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))
Как мне вставить соответствующие данные, которые уже хранятся в физической таблице в базе данных?
INSERT INTO #TempTable (ID, Date, Name)
SELECT id, date, name
FROM physical_table
SELECT ID , Date , Name into #temp from [TableName]
Чтобы вставить все данные из всех столбцов, просто используйте это:
SELECT * INTO #TempTable
FROM OriginalTable
Не забывайте DROP
временную таблицу после того, как вы ее закончили, и прежде чем пытаться создать ее снова:
DROP TABLE #TempTable
Мой способ Insert
в SQL Server. Также я обычно проверяю, существует ли временная таблица.
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 #temptable (col1, col2, col3)
select col1, col2, col3 from othertable
Обратите внимание, что это считается плохой практикой:
insert into #temptable
select col1, col2, col3 from othertable
Если определение таблицы temp должно было измениться, код может выйти из строя во время выполнения.
После создания таблицы temp вы просто выполните обычный INSERT INTO () SELECT FROM
INSERT INTO #TempTable (id, Date, Name)
SELECT t.id, t.Date, t.Name
FROM yourTable t
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
insert #temptable
select idfield, datefield, namefield from yourrealtable
Я предложил два подхода для решения одной и той же проблемы,
Решение 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
Ниже приведена базовая операция временной таблицы, ее изменение и использование в соответствии с вашими требованиями,
- СОЗДАТЬ ТАБЛИЦУ TEMP
CREATE TABLE #MyTempEmployeeTable(tempUserID varchar(MAX), tempUserName varchar(MAX) )
- значение INSERT в таблице TEMP
INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21
- QUERY TEMP TABLE [Это будет работать только в том же сеансе/экземпляре, а не в другом экземпляре сеанса пользователя)
SELECT * FROM #MyTempEmployeeTable
- УДАЛИТЬ СТОИМОСТЬ В ТАБЛИЦЕ TEMP
DELETE FROM #MyTempEmployeeTable
- DROP TEMP TABLE
DROP TABLE #MyTempEmployeeTable