相关疑难解决方法(0)

将存储过程的结果插入临时表

我该怎么办SELECT * INTO [temp table] FROM [stored procedure]?不FROM [Table],没有定义[temp table]

Select所有数据都可以BusinessLine正常tmpBusLine工作.

select *
into tmpBusLine
from BusinessLine
Run Code Online (Sandbox Code Playgroud)

我尝试相同,但使用stored procedure返回数据,并不完全相同.

select *
into tmpBusLine
from
exec getBusinessLineHistory '16 Mar 2009'
Run Code Online (Sandbox Code Playgroud)

输出消息:

消息156,级别15,状态1,行2关键字'exec'附近的语法不正确.

我已经阅读了几个创建一个与输出存储过程结构相同的临时表的例子,它工作正常,但不提供任何列会很好.

sql t-sql sql-server stored-procedures sql-server-2005

1526
推荐指数
24
解决办法
189万
查看次数

存储过程返回多个结果集

我需要一个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
Run Code Online (Sandbox Code Playgroud)

如何用我的SP返回@ myTable1和@ myTable2?这种语法是否正确?

道歉,我还是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
Run Code Online (Sandbox Code Playgroud)

如果我突出显示并运行代码,直到第二个select *它工作正常...当我突出显示其余的时,它就像第一个变量不存在...

EDIT2: 想出那个问题.多谢你们. …

sql sql-server syntax stored-procedures sql-server-2005

11
推荐指数
2
解决办法
4万
查看次数