建立好SQL存储过程,在很多的时候就会调用这些存储过程。使用到存储过程中的结果集。但若直接使用SQL存储过程结果集与其他表进行连接,却比较麻烦,如使用openrowset来进行调用存储过程却是不安全的。来看看openrowset的命令参数就知道了:select * from openrowset('sqloledb','ip';'user';'pwd','exec 库..过程') 。参数需要使用的数据库的密码,并且SQL默认是没有允许openrowset执行的。 其实我们可以还使用的其实方法,更安全地调用SQL存储过程。
工具/原料
1
SQL Server Management Studio
2
存储过程
方法/步骤
1
为了演示方便,新创建了一个存储过程 [dbo].[pr_test] 。
2
存储过程内容很简单就是几个数字,实际应用中可能还会使用的到一些存储过程参数。
3
执行存储过程,来检验一下新建的存储过程结果集。
4
若我们在其实场景需要调用这个存储过程中的结果集,则不需要直接调用,而是将结果集先插入一个临时表即可。create table #data (Ftest1 int,Ftest2 int,Ftest3 int)注意:表定义的列数目要与存储过程的一致。
5
临时表创建好了之后,使用insert into #data exec [dbo].[pr_test] 将结果集插入到临时表#data中。
6
可以将以上的创建临时表和插入存储过程结果的SQL语句放在需要的调用存储过程的场景中。
7
这样就可以通过临时表#data来连接其他表了。
注意事项
本经验由三皮(Sanpitt)原创首发,原创图片、纯手打文字,也不容易,请点【投票】和【大拇指】以资鼓励;业余个人经验分享,肯定有不足的地方请留言,若觉得有用还可以点击右边的【双箭头】来分享;怕下次出问题之后忘记找不到,可点击【☆】来收藏。若有不足,请在【我有疑问】提问,给出您的方法。点击“关注”关注我,点击“Sanpitt”进入我的主页查看相关经验,收获更多。
上一篇:sqlserver存储过程的用法
下一篇:青椒炒腊味的制作方法