Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / хп селект повторно / 5 сообщений из 5, страница 1 из 1
02.07.2019, 13:16
    #39832729
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хп селект повторно
есть ХП
там простой запрос
возвращает от одной до трех строк
хочу получить из первой строки значение и сделать с ним какую-то обработку
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ALTER PROCEDURE [dbo].[SP](@p_out int)
AS

begin
      select *
      from tbl
      order by 1

    set @p_out = <получить из первой строки предыдущего запроса ид>;

end;

могу записать во времянку и т.д.

других методов нету?
...
Рейтинг: 0 / 0
02.07.2019, 13:20
    #39832735
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хп селект повторно
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
ALTER PROCEDURE [dbo].[SP](@p_out int)
AS

begin

begin transaction;

      select *
      from tbl
      order by 1;

      select top(1) @p_out = ид
      from tbl
      order by 1;

commit transaction;

end;
...
Рейтинг: 0 / 0
02.07.2019, 13:21
    #39832736
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хп селект повторно
aleks222,

ок, понятно
...
Рейтинг: 0 / 0
02.07.2019, 14:01
    #39832755
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хп селект повторно
andreymx,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
create table dbo.t (id int);
go

create procedure dbo.p
 @id int output

as
begin

 update t
  set
   @id = first_id
 output
  inserted.id
 from
  (select top (1000000) id, first_value(id) over (order by id) from dbo.t order by id) t(id, first_id);

end;
go

declare @id int;

insert into dbo.t values (3), (1), (2);
exec dbo.p @id output;
select @id;
go

drop procedure dbo.p;
drop table dbo.t;
go
...
Рейтинг: 0 / 0
02.07.2019, 15:01
    #39832794
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хп селект повторно
invmandreymx,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
create table dbo.t (id int);
go

create procedure dbo.p
 @id int output

as
begin

 update t
  set
   @id = first_id
 output
  inserted.id
 from
  (select top (1000000) id, first_value(id) over (order by id) from dbo.t order by id) t(id, first_id);

end;
go

declare @id int;

insert into dbo.t values (3), (1), (2);
exec dbo.p @id output;
select @id;
go

drop procedure dbo.p;
drop table dbo.t;
go

спасибо, попробую
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / хп селект повторно / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]