【发布时间】:2018-05-24 15:21:43
【问题描述】:
我正在尝试将多个存储过程的结果插入到临时表中。但是,我还想在每个实例中添加另一个静态值,该值不是这些结果的一部分到表中,但我不确定执行此操作的语法。
这是我目前所处的位置:
CREATE TABLE #table (
STATIC INT, --STATIC NUMBER
SP1 INT, --STORED PROCEDURE COL 1
SP2 INT, --STORED PROCEDURE COL 2
SP3 INT, --STORED PROCEDURE COL 3
);
INSERT INTO #table values('1'), EXEC stored_procedure 'param_1', 'param_2';
INSERT INTO #table values('2'), EXEC stored_procedure 'param_3', 'param_4';
任何建议都会很棒!
【问题讨论】:
-
我认为没有一种简单的方法可以做到这一点。
-
在表格中插入时,您不能将某些值或表达式与 SP 的结果混合。要么在临时表上使用默认约束,要么在之后更新记录,要么让 SP 返回值。
-
如果存储的过程被重写为表函数就可以做到,尽管这并不总是可能的
-
执行
INSERT EXEC然后UPDATE静态到你想要的任何值,它是NULL。
标签: sql sql-server stored-procedures sql-insert