如何在SELECT语句中调用存储过程的结果?

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
内容同上
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
直接调用好像不可以!?不过你可以把存储过程中的内容插入一张临时表,然后再从临时表中调用!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 SZANG 发布
[B]直接调用好像不可以!?不过你可以把存储过程中的内容插入一张临时表,然后再从临时表中调用! [/B]

恩,这样的形式
create table #table_name...
...
insert #table_name exec(@...)
...
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
insert #table_name/table_name exec 過程名稱
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
好象一般是反过来做的, 用SP调用SQL语句然后返回结果
用SQL语句来调用SP有必要吗?


回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 lodge 发布
[B]好象一般是反过来做的, 用SP调用SQL语句然后返回结果
用SQL语句来调用SP有必要吗?

[/B]

分情况来考虑的


回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 lodge 发布
[B]好象一般是反过来做的, 用SP调用SQL语句然后返回结果
用SQL语句来调用SP有必要吗?

[/B]

很有必要。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
恩, 想说说对SP的理解, 肯定要引起争议的, 嘿嘿
SP是对SQL文的补充, 但SP不是一般的程序(如, JAVA之类), 因为SP并没有很完备的内存变量管理机制, 比较复杂的变量如数组结构之类, 通常要动用临时表来处理, 因此效率也不是很高.
另外, 从概念上说SP应该负责处理需要分步骤有处理顺序的检索和操作, 对其返回值的处理和对SQL文返回值的处理应该是一样的, 特别是用SP去调用SP的做法似乎也没什么大意义毕竟不是函数调用函数的关系, 尽量不用为好
一个典型的现象是, 你见过框架结构的SP吗? 没有不是? 因为SP就是SQL文的组合而已
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 lodge 发布
[B]恩, 想说说对SP的理解, 肯定要引起争议的, 嘿嘿
SP是对SQL文的补充, 但SP不是一般的程序(如, JAVA之类), 因为SP并没有很完备的内存变量管理机制, 比较复杂的变量如数组结构之类, 通常要动用临时表来处理, 因此效率也不是很高.
另外, 从概念上说SP应该负责处理需要分步骤有处理顺序的检索和操作, 对其返回值的处理和对SQL文返回值的处理应该是一样的, 特别是用SP去调用SP的做法似乎也没什么大意义毕竟不是函数调用函数的关系, 尽量不用为好
一个典型的现象是, 你见过框架结构的SP吗? 没有不是? 因为SP就是SQL文的组合而已 [/B]

sp调用sp,也是有目的的。就是作成小模块,然后需要时调用,这样灵活。
对于楼主的问题,sp是可以返回结果值的,这一点你上面也说了,但是他想在结果值里用select调用,就不得不借助表或表变量。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 magicangel 发布
[B]
sp调用sp,也是有目的的。就是作成小模块,然后需要时调用,这样灵活。
对于楼主的问题,sp是可以返回结果值的,这一点你上面也说了,但是他想在结果值里用select调用,就不得不借助表或表变量。 [/B]

呵呵, 争议来了


怪偶没有说清楚, 所谓处理方法一样是指用外部程序调用的时候.
偶觉的楼主如果换个角度想, 也许就没有这种问题了
不过这可能只是一个设计风格的问题, 偶一般不会在外部程序中用SQL文, 所有数据库操作都通过SP来完成, 毕竟SP是预先编译好了的
另外, 也可以施展一下适配器设计模式不是?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行