Мне нужен 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)