プレースホルダー

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 というホスト変数タイプとして定義されたものです。