powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / хп селект повторно
5 сообщений из 5, страница 1 из 1
хп селект повторно
    #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
хп селект повторно
    #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
хп селект повторно
    #39832736
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,

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


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