共用方式為


Shape APPEND 子句

shape 命令的 APPEND 子句會將資料行附加至 Recordset。 這些資料行通常是參考子 Recordset 的章節資料行。

語法

SHAPE [parent-command [[AS] parent-alias]] APPEND column-list  

描述

此子句的各部分如下所示:

parent-command
零或下列其中一個值 (您可以完全忽略 parent-command):

  • 以大括弧 ("{}") 括住且傳回 Recordset 物件的 provider 命令。 此命令會發出給基礎資料提供者,而且其語法取決於該提供者的需求。 這通常是 SQL 語言 (雖然 ADO 不會要求任何特定的查詢語言)。

  • 另一個以括弧括住的 shape 命令。

  • TABLE 關鍵字,後面接著資料提供者中的資料表名稱。

parent-alias
代表父 Recordset 的選擇性別名。

column-list
下列任一個或多個項目:

  • 彙總資料行。

  • 計算結果欄。

  • 使用 NEW 子句建立的新資料行。

  • 章節資料行。 章節資料行定義會以括弧 ("()") 括住。 請參閱下列語法。

SHAPE [parent-command [[AS] parent-alias]]  
   APPEND (child-recordset [ [[AS] child-alias]   
      RELATE parent-column TO child-column | PARAMETER param-number, ... ])  
   [[AS] chapter-alias]   
   [, ... ]  

備註

child-recordset

  • 以大括弧 ("{}") 括住且傳回 Recordset 物件的 provider 命令。 此命令會發出給基礎資料提供者,而且其語法取決於該提供者的需求。 這通常是 SQL 語言 (雖然 ADO 不會要求任何特定的查詢語言)。

  • 另一個以括弧括住的 shape 命令。

  • 成形的現有 Recordset 名稱。

  • TABLE 關鍵字,後面接著資料提供者中的資料表名稱。

child-alias
代表子 Recordset 的別名。

parent-column
Recordset 中由 parent-command 傳回的資料行。

child-column
Recordset 中由 child-command 傳回的資料行。

param-number
請參閱參數化命令的作業

chapter-alias
附加至父系的章節資料行別名。

注意

"parent-column TO child-column" 子句實際上是一個清單,其中每個定義的關聯都會以逗號分隔

注意

APPEND 關鍵字之後的子句實際上是一份清單,其中每個子句都會以逗號分隔,並定義要附加至父系的另一個資料行。

當您從使用者輸入中建構提供者命令,來作為 SHAPE 命令的一部分時,SHAPE 會將使用者提供的提供者命令視為不透明字串,並將其確實傳遞至提供者。 例如,在下列 SHAPE 命令中,

SHAPE {select * from t1} APPEND ({select * from t2} RELATE k1 TO k2)  

SHAPE 會執行兩個命令:select * from t1select * from t2 RELATE k1 TO k2)。 如果使用者提供由多個提供者命令所組成的複合命令 (以分號分隔),SHAPE 就無法區分差異。 因此,在下列 SHAPE 命令中,

SHAPE {select * from t1; drop table t1} APPEND ({select * from t2} RELATE k1 TO k2)  

SHAPE 會執行 select * from t1; drop table t1select * from t2 RELATE k1 TO k2),,並且不知道 drop table t1 是不同且危險 (在此情況下) 的提供者命令。 應用程式必須一律驗證使用者輸入,以防止這類潛在的駭客攻擊發生。

此章節包含下列主題。

另請參閱

資料成形範例
正式 Shape 文法
一般 Shape 命令