进行简单选择时,T-SQL存储过程的本质是什么

时间:2015-07-30 14:23:09

标签: sql-server tsql stored-procedures

我不了解存储过程中T-SQL select语句的本质。我来自Oracle方面,这对我来说很明确。

希望这个样本能够表明我的误解!

我有这个存储过程:

create procedure demo_1
as
begin
    select count(1) from sys.tables;
end;

现在我可以通过管理工作室执行此程序。

exec demo_1

我会在管理工作室内取得好成绩。这在计算机之前看起来很好,但是当我通过第二个存储过程调用这个存储过程时,我无法对此结果做任何事情。

我不明白这背后的想法。将未定义的结果打印到控制台,而无法在TSQL世界中工作。

这样做的背景是:我需要一个调用内部sp_fkeys过程的存储过程。经过几个小时的研究后,我找不到从sp_fkeys获取信息的直接方法,并在TSQL中使用结果。

1 个答案:

答案 0 :(得分:2)

如果要在另一个proc中使用存储过程的结果集,请创建一个临时表,其中包含proc在调用proc中返回的相同列。然后像这样插入:

insert #test
exec myproc