<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # SPI_execute_with_args ## Name SPI_execute_with_args?--?執行一個帶有外聯參數的命令 ## Synopsis ``` int SPI_execute_with_args(const char *command, int nargs, Oid *argtypes, Datum *values, const char *nulls, bool read_only, long count) ``` ## 描述 `SPI_execute_with_args`執行一個可能包含引用外部提供的參數的命令。 該命令文本作為`$``_n_`引用一個參數, 并且該調用為每個這樣的符號指定數據類型和值。`read_only`和 `count`的解釋和在`SPI_execute`中一樣。 與`SPI_execute`比較,這個例程的主要優勢是數據值可以插入命令, 而不用引用/逃逸,并且因此少了許多SQL注入攻擊的危險。 相似的結果可以用跟著`SPI_execute_plan`的`SPI_prepare` 達到;不過,當使用這個函數時,該查詢規劃總是自定義為提供的特定的參數值。 對于一次性查詢執行,這個函數應該優先執行。如果用許多不同的參數執行相同的命令, 哪種方法可能會更快,取決于重新規劃的開銷與自定義規劃的好處的對比。 ## 參數 `const char *` `command` 命令字符串 `int` `nargs` 輸入參數的個數 (`$1`, `$2`, 等) `Oid *` `argtypes` 長度`nargs`的一個數組,包含參數的數據類型的OID `Datum *` `values` 長度`nargs`的一個數組,包含實際參數值 `const char *` `nulls` 長度`nargs`的一個數組,描述哪個參數為空 如果`nulls`是`NULL`,那么`SPI_execute_with_args` 假設沒有參數為空。否則,如果對應的參數值是非空的,那么`nulls` 數組的每一項都應該是`'?'`,或者如果對應的參數值為空,那么 `nulls`數組的每一項都是`'n'`。 (在后面這種情況下,對應的`values`項中的實際值無關緊要。) 請注意,`nulls`不是文本字符串,只是一個數組: 它不需要`'\0'`終止符。 `bool` `read_only` `true`用于只讀的執行 `long` `count` 返回的最大行數,或者沒有限制時為`0` ## 返回值 返回值和`SPI_execute`相同。 如果成功,`SPI_processed`和`SPI_tuptable` 和在`SPI_execute`中一樣設置。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看