プレースホルダー

Oracle では、プレースホルダーとして疑問符を使用しません。ホスト変数の表記法を使用します。慣例により、プレースホルダーは Vn と命名され、n にはプレースホルダーを文内で一意にする数字を指定します。読みやすくするために、同じプレースホルダーを複数回使用できますが、文の実行時 (またはカーソルを使用している場合はオープン時) には、プレースホルダーごとにホスト変数が 1 つ必要です。次に例を示します。

     string "update ordtab " delimited by size
            "set order_no = :v1, "
            "line_no = :v2, "
            "cust_code = :v3, "
            "part_no = :v4, "
            "part_name = :v5, "
            "order_val = :v6, "
            "pay_value = :v7 "
            "where order_no = :v1 and "
            "line_no = :v2 and "
            "cust_code = :v3 " delimited by size
      into Updt-Ord-Stmt-Arr
     end-string
     move 190 to Updt-Ord-Stmt-Len

     EXEC SQL PREPARE updt_ord FROM :Updt-Ord-Stmt END-EXEC

     EXEC SQL EXECUTE updt_ord USING
         :dcl-order-no, :dcl-line-no, :dcl-cust-code,
         :dcl-part-no,  :dcl-part-name:ind-part-name,
         :dcl-order-val,:dcl-pay-value,
         :dcl-order-no, :dcl-line-no, :dcl-cust-code
     END-EXEC

ここで Updt-Ord-Stmt は、VARYING 型のホスト変数として定義されています。