J'ai besoin d'un SP pour renvoyer plusieurs ensembles de résultats. Le deuxième ensemble de résultats serait basé sur une colonne du premier ensemble de résultats.Procédure stockée renvoyer plusieurs ensembles de résultats
Alors:
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
Comment revenir @ myTable1 et @ myTable2 avec mon SP? Cette syntaxe est-elle correcte?
Mes excuses, je suis un débutant à SQL ...
EDIT:
Alors, je me fais une erreur sur la dernière ligne du code ci-dessous qui dit: " doit déclarer la variable scalaire « @ 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
Si je souligne et exécutez le haut de code jusqu'à ce que la seconde select *
il fonctionne très bien ... quand je souligne le reste, il agit comme la première variable ne existe ...
EDIT2: Résolu ce problème. Merci les gars.
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)
Vous auriez dû demander avant, mais quel RDBMS utilisez-vous? – JNK
Cela ne fonctionnera pas si vous n'avez pas le DECLARE @ Mytable1 dans la même déclaration. Si vous venez de mettre en évidence la dernière partie, la DECLARE n'est pas dans cette requête. ces variables ne sont bonnes que pour une requête et ne persistent pas. – JNK
Microsoft SQL Server 2005 – EJC