如何将存储过程的结果存到表里面

xiangaylian 2012-11-19 06:19:19
在不知道 proc_A执行的结果返回哪些字段的情况下,如何将exec proc_A的结果存放到临时表#t里面去呢?
#t是尚未定义的临时表。
...全文
326 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小孩快跑 2012-11-19
  • 打赏
  • 举报
回复
坐等大牛
-晴天 2012-11-19
  • 打赏
  • 举报
回复
恐怕还得更进一步. 即使你知道存储过程的查询结果,不知道这些结果的数据结构,你仍然不能把它保存到临时表里. 因为,你不知道各个列要用什么数据类型.
红木偶 2012-11-19
  • 打赏
  • 举报
回复
楼上正解,没有办法使用 EXEC ... INTO #TEMP 只能 Insert into #TEMP exec proc_A 所以先执行Proc_A 看返回结果,假如是系统Proc,联机丛书上使用执行完返回数据堆的结构的。 根据结果建临时表进行插入。
發糞塗牆 2012-11-19
  • 打赏
  • 举报
回复
一般的写法是先创建临时表#t,然后: insert into #t exec 存储过程名 但是你不知道存储过程的列的话,貌似没有办法创建表
xiangaylian 2012-11-19
  • 打赏
  • 举报
回复
引用 2 楼 lixzhong 的回复:
可以把存储过程改成表值函数 ,效果一样的。
这个改动存储过程,会比较麻烦额...是想把所有存储过程查询出的数据,做一下权限控制,如果是一两个,对应用影响小的话,还可以考虑下。
开启时代 2012-11-19
  • 打赏
  • 举报
回复
可以把存储过程改成表值函数 ,效果一样的。
开启时代 2012-11-19
  • 打赏
  • 举报
回复
此路不通 ,变通下吧.

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧