怎么调用SQL存储过程
建立好SQL存储过程,在很多的时候就会调用这些存储过程。使用到存储过程中的结果集。但若直接使用SQL存储过程结果集与其他表进行连接,却比较麻烦,如使用openrowset来进行调用存储过程却是不安全的。来看看openrowset的命令参数就知道了:select * from openrowset('sqloledb','ip';'user';'pwd','exec 库..过程') 。参数需要使用的数据库的密码,并且SQL默认是没有允许openrowset执行的。
其实我们可以还使用的其实方法,更安全地调用SQL存储过程。
操作方法
- 01
为了演示方便,新创建了一个存储过程 [dbo].[pr_test] 。
- 02
存储过程内容很简单就是几个数字,实际应用中可能还会使用的到一些存储过程参数。
- 03
执行存储过程,来检验一下新建的存储过程结果集。
- 04
若我们在其实场景需要调用这个存储过程中的结果集,则不需要直接调用,而是将结果集先插入一个临时表即可。 create table #data ( Ftest1 int, Ftest2 int, Ftest3 int ) 注意:表定义的列数目要与存储过程的一致。
- 05
临时表创建好了之后,使用insert into #data exec [dbo].[pr_test] 将结果集插入到临时表#data中。
- 06
可以将以上的创建临时表和插入存储过程结果的SQL语句放在需要的调用存储过程的场景中。
- 07
这样就可以通过临时表#data来连接其他表了。
赞 (0)