INSERT INTO TEMP_TABLE (aNumber, aDate) VALUES ((aSproc param1, param2) , myDate)
我需要传递一个带参数的存储过程作为insert语句的参数。这可能吗?
答案 0 :(得分:1)
这取决于存储过程返回的内容。存储过程返回由SP中发出的最后一个选择产生的表。因此,如果您的SP以SELECT NULL
结尾,那么您的SP将返回NULL,然后您的插入将返回NULL。对于你必须工作的东西,你必须确保存储过程只返回一个值,即一行一列的表。
之所以这样,是因为您的insert期望单个值成为其value子句的一部分,并且您可能返回多行和多列。您可以通过使用SELECT 1
结束SP来测试这一点,这会将int返回到您的插入,然后它将具有一个值类型,它可以理解为其value子句的一部分。
同时发布您的SP将有助于我们调试它。