gpt4 book ai didi

stored-procedures - 声明一个没有列定义的表变量?

转载 作者:行者123 更新时间:2023-12-05 00:05:48 26 4
gpt4 key购买 nike

在 SQL Server 中,有没有办法在不知道表定义的情况下声明表变量?

示例:

DECLARE @Results TABLE
INSERT INTO @Results EXEC MyProc @param1 = @myValue

或者
DECLARE @Results TABLE
SELECT INTO @Results EXEC MyProc @param1 = @myValue

或者
DECLARE @Results TABLE
EXEC MyProc @param1 = @myValue INTO @Results

或者
DECLARE @Results TABLE
EXEC INTO @Results MyProc @param1 = @myValue

或者
DECLARE @Results TABLE
SELECT * FROM EXEC MyProc @param1 = @myValue INTO @Results

或者
DECLARE @Results TABLE
SELECT * INTO @Results FROM EXEC MyProc @param1 = @myValue

或者
DECLARE @Results TABLE
SELECT * INTO @Results EXEC MyProc @param1 = @myValue

(你明白了)

最佳答案

不可能的。引自“在线书籍”:

==============

句法
注意 使用 DECLARE @local_variable 声明表类型的变量。

table_type_definition ::= 
TABLE ( { column_definition | table_constraint } [ ,...n ] )

==============

"(", 至少一个列定义和 ")"在语法上是必需的。

PS:AFAIK 从“exec”结果插入任何新表是不可能的。仅适用于具有预定义结构的表。

关于stored-procedures - 声明一个没有列定义的表变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4146074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com