有沒有辦法在存儲過程中將一個系統存儲過程的結果塞到一個表中?

风里有梦 2006-07-25 05:29:52
如題!請大俠指教! 小弟先謝過了!
...全文
226 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
标题人事档案管理系统设计与实现研究AI更换标题第1章引言介绍人事档案管理系统的研究背景、意义、国内外研究现状以及论文的方法和创新点。1.1研究背景与意义分析人事档案管理在企业中的重要性及系统开发的必要性。1.2国内外研究现状概述国内外人事档案管理系统的研究进展和现状。1.3研究方法及创新点阐述本文的研究方法和在系统设计上的创新点。第2章相关理论介绍人事档案管理系统设计的相关理论。2.1档案管理理论阐述档案分类、存储、检索等基本理论。2.2信息系统开发理论介绍信息系统开发的基本流程、方法和技术。2.3数据库管理理论讨论数据库设计、数据安全与备份等理论。第3章人事档案管理系统设计详细介绍人事档案管理系统的设计方案和实现过程。3.1系统需求分析分析系统的功能需求、性能需求和用户需求。3.2系统架构设计给出系统的整体架构、模块划分和交互流程。3.3数据库设计设计数据库结构,包括表结构、字段设置和关系模型。第4章系统实现与测试阐述人事档案管理系统的实现过程和测试方法。4.1系统开发环境与工具介绍系统开发所使用的环境和工具。4.2系统实现过程详细描述系统各个模块的实现过程和关键代码。4.3系统测试与优化对系统进行功能测试、性能测试和安全测试,并进行优化。第5章研究结果与分析呈现人事档案管理系统的实验分析结果。5.1系统功能实现情况介绍系统各项功能的实现情况和效果。5.2系统性能评估从响应时间、吞吐量等指标评估系统性能。5.3对比方法分析将本系统与其他类似系统进行对比分析,突出优势。第6章结论与展望总结本文的研究成果,并展望未来的研究方向。6.1研究结论概括本文的主要研究结论和系统实现效果。6.2展望指出系统存在的不足和未来改进的方向。
提供了关于时间序列分析与预测的宝贵资源,特别聚焦于**自回归积分滑动平均模型(ARIMA)**及其应用。对于那些希望深入理解并实践时间序列建模的学者、研究人员以及数据分析爱好者来说,这是一个不可或缺的学习材料。本资源不仅包括了详细的理论讲解,涵盖了时间序列分析的基础,如移动平均(MA)、自回归(AR)、指数平滑等关键概念,而且通过具体的ARIMA模型解析,搭配MATLAB编程实现实例,帮助用户从理论到实践全面掌握这一重要统计工具。 内容概览 理论讲解: 深入浅出地介绍了时间序列分析的基本原理,重点阐述ARIMA模型的构建步骤,包括如何识别模型的参数(p,d,q),以及其在处理非平稳数据中的作用。 MATLAB代码实现: 提供了多个ARIMA模型的MATLAB实现示例,这些代码覆盖了从数据准备、模型拟合、诊断检验到预测的全过程,是学习如何利用MATLAB进行时间序列分析的实用工具。 实例分析: 包括不同行业或领域的实际案例研究,展示如何应用ARIMA及其它时间序列方法解决真实世界的数据预测问题,增强理解和应用能力。 文件结构 时间序列模型ARIMA的讲解与matlab代码实现(含多个实例).rar: 主要资源压缩包,解压后包含文档和MATLAB代码文件夹。 文档: 提供了理论知识讲解。 MATLAB代码: 实现了文中讨论的各种模型,附带注释,便于理解与修改。 使用指南 下载资源: 点击下载“时间序列模型ARIMA的讲解与matlab代码实现(含多个实例).rar”文件。 解压文件: 解压缩至本地,确保你可以访问文档和代码。 环境准备: 确保你的电脑上已安装MATLAB,并熟悉基本操作。 学习流程: 首先阅读文档理解时间序列分析的理论基础,然后逐步跟随MATLAB代码示例进行实践。 实践应用: 尝试将所学应用到自己的数据集上,调整参数以优化模型性能。 注意事项 请根据M

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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