|
можно ли на вход SP передавать recordset и на выходе получать его же измененный?
|
|||
---|---|---|---|
#18+
причем эту SP вызывать из другой. Хотелось бы в общих чертах узнать как это делается. Нужна такая вещь для замены одного столбца в таблице на другой. Есть столбец с датой, его нужно преобразовать в столбец с той же датой, но символьный. Отдельным движением я что-то не соображу, как сделать, поэтому хотелось бы все преобразование вынести в отдельную SP. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2001, 21:30 |
|
можно ли на вход SP передавать recordset и на выходе получать его же измененный?
|
|||
---|---|---|---|
#18+
а триггер повесить не судьба? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2001, 00:38 |
|
можно ли на вход SP передавать recordset и на выходе получать его же измененный?
|
|||
---|---|---|---|
#18+
2 A_Briginevich Вообще recordset - это понятие для клиентской части. Выборку данных от одной процедуры другой можно передать несколькими способами: 1. Конструкция типа insert Tbl_name exec Proc_Name При этом структура таблицы и структура селекта в процедуре должны быть индентичны 2. Перед вызовом первой процедуры создать временную таблицу и её в процедуре заполнять(не будет работать на 6.5). 3. Через курсоры. Но я так никогда не делал и делать так без большой неоходимости не стоит. Еще наверное способы есть. Но писать процедуры чтобы преобразовать дату - мягко говоря, не стоит. Есть функция CONVERT, которая может много чего. В 2000-м можно написать функции(если CONVERT не устроит). С приветом Сергей ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2001, 09:55 |
|
можно ли на вход SP передавать recordset и на выходе получать его же измененный?
|
|||
---|---|---|---|
#18+
set nocount on -- создаем таблицу с датой (для примера) create table #t1([ID] int identity, d datetime) -- заполним ее чем-нибудь insert into #t1 (d) values(getdate()) insert into #t1 (d) values(getdate()) insert into #t1 (d) values(getdate()) insert into #t1 (d) values(getdate()) insert into #t1 (d) values(getdate()) -- добавляем новый столбец для даты alter table #t1 add cd varchar(20) null -- заполняем преобразованной датой update #t1 set cd = CAST(d as varchar(20)) -- смотрим результат select * from #t1 -- удаляем старый столбец alter table #t1 drop column d -- смотрим результат select * from #t1 -- удаляем таблицу (ну свою, конечно, удалять не надо !) drop table #t1 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2001, 12:21 |
|
|
start [/forum/topic.php?fid=46&tid=1827074]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 151ms |
0 / 0 |