社区
疑难问题
帖子详情
有沒有辦法在存儲過程中將一個系統存儲過程的結果塞到一個表中?
风里有梦
2006-07-25 05:29:52
如題!請大俠指教! 小弟先謝過了!
...全文
212
17
打赏
收藏
有沒有辦法在存儲過程中將一個系統存儲過程的結果塞到一個表中?
如題!請大俠指教! 小弟先謝過了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
风里有梦
2006-07-28
打赏
举报
回复
明白了!!! 知道問題了! 多謝 "一天到晚游泳的鱼" 和 "快樂至上" :
Select * Into #T From OpenRowSet('sqloledb','Trusted_Connection=yes','exec dbo.sp_columns ''tblAsset''')
Select * From #T
Drop Table #T
我那天測試時,把數據庫名稱刪了, 因為我是在當前的PMFE中執行的,以為可以不指定, 結果...
正确的是:
Select * Into #T From OpenRowSet('sqloledb','Trusted_Connection=yes','exec PMFE.dbo.sp_columns ''tblAsset''')
Select * From #T
Drop Table #T
paoluo
2006-07-28
打赏
举报
回复
對,忘記提醒這個,記得將Test換成你自己的數據庫名。
lzhs
2006-07-28
打赏
举报
回复
1、确认你的数据库里有tblAsset这个表
2、OpenRowSet中'exec Test.dbo.sp_columns ''tblAsset''',将Test换成tblAsset表所在数据库的名字。
paoluo
2006-07-27
打赏
举报
回复
你確定你的表名沒有錯誤??
Create Table tblAsset(ID Int,Name Varchar(10))
GO
Select * Into #T From OpenRowSet('sqloledb','Trusted_Connection=yes','exec Test.dbo.sp_columns ''tblAsset''')
Select * From #T
Drop Table #T
GO
Drop Table tblAsset
--Result
/*
Test dbo tblAsset ID 4 int 10 4 0 10 1 NULL NULL 4 NULL NULL 1 YES 38
Test dbo tblAsset Name 12 varchar 10 10 NULL NULL 1 NULL NULL 12 NULL 10 2 YES 39
*/
db_sky
2006-07-27
打赏
举报
回复
To:lzhs(快乐至上)
...
Insert Into #Temp Exec sp_...
原理和
Insert Into #Temp Select * From Table2
一样的~~~~
可以把Exec sp_...执行的结果当作和Select一样的返回一个结果集。
----------------------------------------------------------------
insert into #表 exec sp_executesql proc_abc
而不能
select * exec sp_executesql proc_abc
或
select * into #表 exec sp_executesql proc_abc
==================================
= CSDN助手 全面支持CSDN论坛 =
= 监视、收藏、历史、签名走马灯 =
==================================
风里有梦
2006-07-27
打赏
举报
回复
懷疑是SQL的語句解析器不能將''轉換成',所以就對于帶參數的系統存儲過程無法處理了...
风里有梦
2006-07-27
打赏
举报
回复
exec dbo.sp_columns 'tblAsset'
tblAsset是我當前數據庫中的一個表,神你要測試須將tblAsset替換成您的數據庫中的一個表
LouisXIV
2006-07-27
打赏
举报
回复
將不會返回一行記錄. :(
--------------------------------------------
Do you confirm that you've give a correct value to the parameter of SP?
In this situation
'exec Test.dbo.sp_columns ''tblAsset'''
the position of "tblAsset" should be a existed tablename other than a column name
风里有梦
2006-07-27
打赏
举报
回复
結果不會出錯,但是,結果卻不是正确的. 應該是''的問題:
原SQL STATEMENT: exec Test.dbo.sp_columns 'tblAsset'
這個系統存儲過程是返回指定參數的所有列. 但是:
Select * Into #T From OpenRowSet('sqloledb','Trusted_Connection=yes','exec Test.dbo.sp_columns ''tblAsset''')
Select * From #T
Drop Table #T
將不會返回一行記錄. :(
paoluo
2006-07-27
打赏
举报
回复
baofeng(人生如夢) ( ) 信誉:100 2006-07-27 16:12:00 得分: 0
多謝大家熱心指點. 魚你這個方法不錯不用建立臨時表, 但是看下面這條:
Select * Into #T From OpenRowSet('sqloledb','Trusted_Connection=yes','exec Test.dbo.sp_columns ''tblAsset''')
Select * From #T
Drop Table #T
為什麼這條不行?
-------------------
我測試沒有問題啊。
LouisXIV
2006-07-27
打赏
举报
回复
What's wrong?
风里有梦
2006-07-27
打赏
举报
回复
多謝大家熱心指點. 魚你這個方法不錯不用建立臨時表, 但是看下面這條:
Select * Into #T From OpenRowSet('sqloledb','Trusted_Connection=yes','exec Test.dbo.sp_columns ''tblAsset''')
Select * From #T
Drop Table #T
為什麼這條不行?
lzhs
2006-07-25
打赏
举报
回复
鱼,你说的不错!
paoluo
2006-07-25
打赏
举报
回复
使用這個可以不用提前建立臨時表
Select * Into #T From OpenRowSet('sqloledb','Trusted_Connection=yes','exec Test.dbo.sp_who')
Select * From #T
Drop Table #T
lzhs
2006-07-25
打赏
举报
回复
原理和
Insert Into #Temp
Select * From Table2
一样的~~~~
可以把Exec sp_...执行的结果当作和Select一样的返回一个结果集。
lzhs
2006-07-25
打赏
举报
回复
可以的。
首先按照这个存储过程执行的结果的列来建一张表,然后用这个
Insert Into #Temp
Exec sp_...
billpu
2006-07-25
打赏
举报
回复
要看返回什么了 比如sp_who返回8个列 你就必须按字段insert
springboot2.0企业中台实战之权限统一管理与应用统一授权 (dubbo分布式系统实战)
值得一提的是,这套中台系统由于讲解了如何统一管理企业内部各大应用系统的“菜单资源列表”、“操作权限”,故而本门课程的“代码实战”是建立在之前debug录制的“企业权限管理平台”这套课程的基础之上的,故而在...
mysql存储过程返回表_如何创建MySQL存储过程可以返回一个表类型的数据
展开全部首先需要知道“另一个存储过程”的结果集的所有列的类型。假设“另一个存储过程”的名62616964757a686964616fe78988e69d8331333361323032字是sp1,没有参数,返回的结果集共3列,全部为int型,那么“存储过程”里添加一个与结果集列数相同的临时表或表变量用于接收“另一个存储过程”的结果集如下CREATE PROCEDURE sp2ASDECLARE @...
mysql使用存储过程将一个
表中
的数据导入另一个表
存储过程 本人也是第一次使用存储过程,中间遇到了很多坑,在此记录一下,希望能帮助使用的人少踩点坑。。 先说一下我使用存储过程的需要,其实需求很简单就是把一个
表中
的数据导入一个新的
表中
,并且删除原有
表中
的数据,说白了就是一个数据的备份 我是使用navicat进行编辑的,我认为用好用的工具就要使用,能省事就省事,毕竟人生时间不多,不要浪费时间在那些无用的事情上。 CREATE DEFINER=...
SQL与ORACLE中存储过程调用存储过程返回的结果集插入到临时表写法
存储过程A1调用存储过程B1返回结果 最精简写法: --存储过程A1中创建一个表去接收B1的结果 createtable#tb(....) insertinto#tb execB1'...' --比如像下面这样的写法: INSERT INTO #ChargePrice_Result EXEC SP_CalcChargePrice @Way, @Amount,...
SqlServer中存储过程中将Exec的执行结果赋值给变量输出
原文 SqlServer中存储过程中将Exec的执行结果赋值给变量输出 背景: 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字段值,然后再利用这些值进行逻辑运算(自己的逻辑),最后将结果输出。话不多说,直接上图,看是否是你想要的结果: 说明:【区域1为要用来测试的表】【 区域2 为
表中
数据】【区域3 为
表中
数据ja...
疑难问题
22,207
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章