Сохраненная процедура возвращает несколько результатов sets

Мне нужен SP, чтобы возвращать несколько наборов результатов. Второй набор результатов будет основан на столбце первого набора результатов.

Итак:

declare @myTable1 table(field0 int,field1 varchar(255))
insert into @myTable1 select top 1 field0, field1 from table1

declare @myTable2 table(field0 int,field3 varchar(255))
insert into @myTable2 
select field0, field3 from table2 
where @myTable1.field0 = @myTable2.field0

Как вернуть @ myTable1 и @ myTable2 с моим SP? Это вообще правильный синтаксис?

Приношу свои извинения, я все еще новичок в SQL ...

РЕДАКТИРОВАТЬ:

Итак, я получаю сообщение об ошибке в последней строке кода ниже говорит: "Необходимо объявить скалярную переменную" @ myTable1 ""

declare @myTable1 table(field0 int,field1 dateTime)
insert into @myTable1 
select top 1 field0, field1 
from someTable1 m
where m.field4 > 6/29/2009

select * from @myTable1
select *
from someTable2 m2
where m2.field0 = @myTable1.field0

Если я выделю и запустил код до второго select * , он будет работать нормально ... когда я выделяю остальные, он действует так, как будто первой переменной не существует ...

EDIT2: Выяснил эту проблему. Спасибо, ребята.

declare @myTable1 table(field0 int,field1 dateTime)
insert into @myTable1 
select top 1 field0, field1 
from someTable1 m
where m.field4 > 6/29/2009

select * from @myTable1
select *
from someTable2 m2
where m2.field0 = (select field0 from @myTable1)
11
задан EJC 6 October 2010 в 20:23
поделиться