1. <small id='mAv0M'></small><noframes id='mAv0M'>

    <legend id='mAv0M'><style id='mAv0M'><dir id='mAv0M'><q id='mAv0M'></q></dir></style></legend>

      • <bdo id='mAv0M'></bdo><ul id='mAv0M'></ul>
      <i id='mAv0M'><tr id='mAv0M'><dt id='mAv0M'><q id='mAv0M'><span id='mAv0M'><b id='mAv0M'><form id='mAv0M'><ins id='mAv0M'></ins><ul id='mAv0M'></ul><sub id='mAv0M'></sub></form><legend id='mAv0M'></legend><bdo id='mAv0M'><pre id='mAv0M'><center id='mAv0M'></center></pre></bdo></b><th id='mAv0M'></th></span></q></dt></tr></i><div id='mAv0M'><tfoot id='mAv0M'></tfoot><dl id='mAv0M'><fieldset id='mAv0M'></fieldset></dl></div>
    1. <tfoot id='mAv0M'></tfoot>

      动态 SQL 结果到 SQL 存储过程中的临时表中

      时间:2023-10-10

      <small id='rEbnr'></small><noframes id='rEbnr'>

          <i id='rEbnr'><tr id='rEbnr'><dt id='rEbnr'><q id='rEbnr'><span id='rEbnr'><b id='rEbnr'><form id='rEbnr'><ins id='rEbnr'></ins><ul id='rEbnr'></ul><sub id='rEbnr'></sub></form><legend id='rEbnr'></legend><bdo id='rEbnr'><pre id='rEbnr'><center id='rEbnr'></center></pre></bdo></b><th id='rEbnr'></th></span></q></dt></tr></i><div id='rEbnr'><tfoot id='rEbnr'></tfoot><dl id='rEbnr'><fieldset id='rEbnr'></fieldset></dl></div>

          <tfoot id='rEbnr'></tfoot>
            <bdo id='rEbnr'></bdo><ul id='rEbnr'></ul>

              <legend id='rEbnr'><style id='rEbnr'><dir id='rEbnr'><q id='rEbnr'></q></dir></style></legend>
                  <tbody id='rEbnr'></tbody>

              • 本文介绍了动态 SQL 结果到 SQL 存储过程中的临时表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                代码如下:

                ALTER PROCEDURE dbo.pdpd_DynamicCall 
                @SQLString varchar(4096) = null
                
                AS
                
                Begin
                
                    create TABLE #T1 ( column_1 varchar(10) , column_2 varchar(100) )
                
                    insert into #T1 
                        execute ('execute ' + @SQLString )
                
                    select * from #T1 
                
                End
                

                问题是我想调用可以返回不同列的不同过程.因此,我必须一般地定义表 #T1.但我不知道如何.

                The problem is that I want to call different procedures that can give back different columns. Therefore I would have to define the table #T1 generically. But I don't know how.

                有人能帮我解决这个问题吗?

                Can anyone help me on this problem?

                推荐答案

                尝试:

                SELECT into #T1 execute ('execute ' + @SQLString )
                

                这闻起来真的很糟糕,就像一个 sql 注入漏洞.

                And this smells real bad like an sql injection vulnerability.

                更正(根据@CarpeDiem 的评论):

                correction (per @CarpeDiem's comment):

                INSERT into #T1 execute ('execute ' + @SQLString )
                

                此外,如果 sql 字符串不是过程,则省略 'execute'

                also, omit the 'execute' if the sql string is something other than a procedure

                这篇关于动态 SQL 结果到 SQL 存储过程中的临时表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:从工资表中查找第 N 个最高工资的 SQL 查询 下一篇:在 T-SQL 中透视数据

                相关文章

                <i id='bhVHe'><tr id='bhVHe'><dt id='bhVHe'><q id='bhVHe'><span id='bhVHe'><b id='bhVHe'><form id='bhVHe'><ins id='bhVHe'></ins><ul id='bhVHe'></ul><sub id='bhVHe'></sub></form><legend id='bhVHe'></legend><bdo id='bhVHe'><pre id='bhVHe'><center id='bhVHe'></center></pre></bdo></b><th id='bhVHe'></th></span></q></dt></tr></i><div id='bhVHe'><tfoot id='bhVHe'></tfoot><dl id='bhVHe'><fieldset id='bhVHe'></fieldset></dl></div>

                    <small id='bhVHe'></small><noframes id='bhVHe'>

                  1. <tfoot id='bhVHe'></tfoot>
                      <bdo id='bhVHe'></bdo><ul id='bhVHe'></ul>

                  2. <legend id='bhVHe'><style id='bhVHe'><dir id='bhVHe'><q id='bhVHe'></q></dir></style></legend>