DEFINE_COLUMN 存储过程用于定义要从指定游标中选择的列,仅与 SELECT 游标一起使用。

所定义的列由其在指定游标声明的 SELECT 列表中的相对位置来进行标识。 COLUMN 值的类型决定了要定义的列的类型。

语法

  1. DBMS_SQL.DEFINE_COLUMN (c IN INTEGER,
  2. position IN INTEGER,
  3. column IN NUMBER);
  4. DBMS_SQL.DEFINE_COLUMN (c IN INTEGER,
  5. position IN INTEGER,
  6. column IN VARCHAR2);
  7. DBMS_SQL.DEFINE_COLUMN (c IN INTEGER,
  8. position IN INTEGER,
  9. column IN VARCHAR2,
  10. column_size IN INTEGER);
  11. DBMS_SQL.DEFINE_COLUMN(c in integer,
  12. position in integer,
  13. column in date);
  14. DBMS_SQL.DEFINE_COLUMN(c in integer,
  15. position in integer,
  16. column in binary_float);
  17. DBMS_SQL.DEFINE_COLUMN(c in integer,
  18. position in integer,
  19. column in binary_double);
  20. DBMS_SQL.DEFINE_COLUMN(c in integer,
  21. position in integer,
  22. column in blob);
  23. DBMS_SQL.DEFINE_COLUMN(c in integer,
  24. position in integer,
  25. column in raw,
  26. column_size IN INTEGER);

参数解释

参数

解释

c

定义要选择的行的游标 ID 号。

position

列在所定义行中的相对位置。声明中的第一列的位置为 1。

column

被定义的列的值。 此值的类型决定了要定义的列的类型。

column_size

该列的最大值(以字节为单位)。

使用说明

使用字符长度语义时,可以为 VARCHAR2 类型的列值返回的最大字节数计算公式为:column_ size *当前字符集的最大字节数。

例如,将 col``umn_size 指定为 10, 意味着在对 UTF8 字符集使用字符长度语义时,无论它表示的字符数是多少,最多可以返回 30(10*3)个字节。