作者ishewood (木头)
看板Database
标题Re: [SQL ] 可以用SELECT抓Stored Procedure的资料 …
时间Sat Sep 11 03:07:07 2010
※ 引述《JYHuang (夏天到了,冷不起来了说)》之铭言:
: DBMS是SQL 2005
: 因为这支Stored Procedure是满久以前的人写的。
: 改的话怕会动到其它程式。
: 能不能做到类似只选取其中栏位的功能吗?
: 像是这样
: SELECT col1,col2,(col3/col4) as num
: FROM main.dbo.sp1 @para1,@para2
: Google找到的资料说可以用openrowset
: 不过这个元件在系统上是被关闭的..
做一个暂存资料表去接收原来的预存程序,再捞暂存表的资料
试试
----------------------------------------------
假设要原来的预存程序为 prA,参数为@para1
写一个新的预存程序
CREATE Procedure prSelectFromPS
@paraA int
AS
--建立一个暂存资料表,与预存程序结果集结构完全相同
CREATE TABLE #temp
(
col1 int,
col2 char(10),
col3 int,
col4 int,
col5 datetime,
...
)
--将结果集填入暂存资料表
INSERT #temp
EXEC prA @para1 = @paraA
--从暂存资料表中捞资料
SELECT
col1,col2,(col3/col4) as num
FROM
#temp
DROP TABLE #temp
--------------------------------------------
然後执行写好的预存程序
exec prTestselectPr @paraA = 1234
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.29.224