Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизКак создать временную таблицу и вставить в нее записи? Найти похожие ветки
← →
Nikolai_S © (2004-04-13 15:50) [0]Уважемые мастера!
Такой вопрос: имеется SQL-запрос (SELECT Field1, Field2, .... FROM ....)
Как в MS SQL Server 2000 создать ВРЕМЕННУЮ таблицу, набор полей и записей в которой соответствовали бы данному запросу?
Я объявил переменнуюDECLARE @MY_TMP_TABLE TABLE(Field1 int, Field2 nvarchar(255)....)
Но в справке по Transact SQL указано, что нельзя выполнять операции типа:
SELECT * FROM [MY_TABLE] INTO [table_variable]
и
INSERT INTO [table_variable] SELECT * FROM [MY_TABLE]
← →
Nikolai_S © (2004-04-13 15:50) [0]Уважемые мастера!
Такой вопрос: имеется SQL-запрос (SELECT Field1, Field2, .... FROM ....)
Как в MS SQL Server 2000 создать ВРЕМЕННУЮ таблицу, набор полей и записей в которой соответствовали бы данному запросу?
Я объявил переменнуюDECLARE @MY_TMP_TABLE TABLE(Field1 int, Field2 nvarchar(255)....)
Но в справке по Transact SQL указано, что нельзя выполнять операции типа:
SELECT * FROM [MY_TABLE] INTO [table_variable]
и
INSERT INTO [table_variable] SELECT * FROM [MY_TABLE]
← →
serge35 (2004-04-13 15:51) [1]Create table
← →
serge35 (2004-04-13 15:51) [1]Create table
← →
Nikolai_S © (2004-04-13 16:03) [2]
> serge35 (13.04.04 15:51) [1]
Спасибо.
Пожалуй, действительно так проще. Я хотел сначало через переменную, но похоже так не получается
← →
Nikolai_S © (2004-04-13 16:03) [2]
> serge35 (13.04.04 15:51) [1]
Спасибо.
Пожалуй, действительно так проще. Я хотел сначало через переменную, но похоже так не получается
← →
serge35 (2004-04-13 16:07) [3]После процедуры Drop Table.
или Alter table
← →
serge35 (2004-04-13 16:07) [3]После процедуры Drop Table.
или Alter table
← →
Nikolai_S © (2004-04-13 16:18) [4]
> После процедуры Drop Table.
> или Alter table
Ну это естественно.
Все получилось.
Теперь вопрос к выше обозначенной временной таблице: можно ли запихать все эти операции в хранимую процедуру? Нужно, чтобы в качестве входных параметров были:
1. Имя временной таблицы и Fields definitions (nvarchar)
2. SQL-запрос (nvarchar)
← →
Nikolai_S © (2004-04-13 16:18) [4]
> После процедуры Drop Table.
> или Alter table
Ну это естественно.
Все получилось.
Теперь вопрос к выше обозначенной временной таблице: можно ли запихать все эти операции в хранимую процедуру? Нужно, чтобы в качестве входных параметров были:
1. Имя временной таблицы и Fields definitions (nvarchar)
2. SQL-запрос (nvarchar)
← →
ZrenBy © (2004-04-13 16:19) [5]use pubs
1 вариантdeclare @t table(A int identity(1,1),B varchar(20), C varchar(100))
insert into @t (B,C) select au_id,au_lname from authors
select * from @t order by 1
2 вариантselect * into #t from authors
select * from #t
drop table #t
← →
ZrenBy © (2004-04-13 16:19) [5]use pubs
1 вариантdeclare @t table(A int identity(1,1),B varchar(20), C varchar(100))
insert into @t (B,C) select au_id,au_lname from authors
select * from @t order by 1
2 вариантselect * into #t from authors
select * from #t
drop table #t
← →
serge35 (2004-04-13 16:21) [6]Конечно можно, даже нужно.
Только перед тем, как задавать массу вопросов, почитай литературу по процедурам или найди пример какой-нибудь.
← →
serge35 (2004-04-13 16:21) [6]Конечно можно, даже нужно.
Только перед тем, как задавать массу вопросов, почитай литературу по процедурам или найди пример какой-нибудь.
← →
bushmen © (2004-04-13 16:22) [7]create procedure my_proc(@name varchar(50), @type varchar(50)) as
begin
declare @sSQL varchar(50)
set @sSQL = "create table " + @name + "(pole1 " + @type + ")"
exec(@sSQL)
end
"ну, и добавляешь, что нужно еще
← →
bushmen © (2004-04-13 16:22) [7]create procedure my_proc(@name varchar(50), @type varchar(50)) as
begin
declare @sSQL varchar(50)
set @sSQL = "create table " + @name + "(pole1 " + @type + ")"
exec(@sSQL)
end
"ну, и добавляешь, что нужно еще
← →
ZrenBy © (2004-04-13 16:23) [8]
declare @S nvarchar(4000)
set @S = N"select * into #t from authors
select * from #t
drop table #t"
exec sp_executesql @S
← →
ZrenBy © (2004-04-13 16:23) [8]
declare @S nvarchar(4000)
set @S = N"select * into #t from authors
select * from #t
drop table #t"
exec sp_executesql @S
← →
Nikolai_S © (2004-04-13 17:41) [9]Всем спасибо. Разобрался, все получилось.
← →
Nikolai_S © (2004-04-13 17:41) [9]Всем спасибо. Разобрался, все получилось.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.037 c