sql - 如何将存储过程的执行插入表中?
问题描述
我必须将存储过程的执行插入表中。例如,我调用了一个过程proc
,我想执行它并将其数据插入表中。我发现了一些这样的例子:
DECLARE @storedProcname NVARCHAR(MAX) = ''
SET @storedProcname = 'proc'
DECLARE @strSQL AS VARCHAR(MAX) = 'CREATE TABLE myTableName '
SELECT @strSQL = @strSQL+STUFF((
SELECT ',' + name +' ' + system_type_name
FROM sys.dm_exec_describe_first_result_set_for_object (OBJECT_ID(@storedProcname),0)
FOR XML PATH('')),1,1,'(') + ')'
print @strSQL
EXEC (@strSQL)
INSERT INTO myTableName
EXEC ('proc')
SELECT * FROM myTableName
--DROP TABLE myTableName
它适用于这个过程,但是如何为每个过程创建自己的表来插入数据?因为我有很多程序,而且它们都有不同数量的列,并且列的数据类型也不同。我想我会写一些光标,脚本将在其中列出所有过程,为它们创建表并将它们插入表或其他东西中。
解决方案
推荐阅读
- swift - 完成/线程订单协助
- java - Spring LDAP 错误代码 32 - 没有这样的对象];剩下的名字'/'"
- c# - c#所有可能的数字组合并识别每个
- wordpress - 如何在 Wordpress 帖子中同时使用英语和波斯语?
- visual-studio-code - Visual Studio Code 更新问题
- php - 修复 Laravel 并发问题。在 if 条件和插入 eloquent 之间
- python - 带有 GEKKO 的轨迹规划器无法处理给定的目标速度
- numba - cuDF - groupby UDF 支持日期时间
- node.js - Nodejs - 无法读取未定义的属性“模型”
- jquery - 使用 jQuery 对表格行进行排序