Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (P-Z)

 

PUT 语句 [ESQL]

此语句用于在指定的游标中插入行。

语法
PUT cursor-name
{ USING DESCRIPTOR sqlda-name | FROM hostvar-list }
[ INTO { DESCRIPTOR sqlda-name | hostvar-list } ]
[ ARRAY :row-count ]
cursor-name : identifier or hostvar
sqlda-name : identifier
hostvar-list : may contain indicator variables
row-count : integer or hostvar
注释

在指定的游标中插入行。列的值从第一个 SQLDA 或主机变量列表中获取,与 INSERT 语句中的列(对于 INSERT 游标)或选择列表中的列(对于 SELECT 游标)是一一对应的关系。

PUT 语句只能在满足以下条件的 INSERT 或 SELECT 语句的游标上使用:此语句的 FROM 子句引用单个表,或引用由单个基表组成的可更新视图。

如果 SQLDA 中的 sqldata 指针为空指针,则表示没有为该列指定任何值。如果有 DEFAULT VALUE 与该列关联,则使用缺省值;否则,使用 NULL 值。

第二个 SQLDA 或主机变量列表包含 PUT 语句的结果。

可选的 ARRAY 子句可用于执行宽放置,即一次插入多行,这样可以提高性能。整数值是插入的行数。SQLDA 中,每个条目必须有一个变量(行数 * 列数)。第一行放在 SQLDA 变量 0 和(每行的列数)-1 之间,依此类推。

插入到游标中

对于滚动(对值敏感)游标,如果新行与 WHERE 子句匹配且键集游标未完成填充,则显示插入的行。对于动态游标,如果插入的行与 WHERE 子句匹配,则可能显示该行。不敏感游标不能更新。

有关将 LONG VARCHAR 或 LONG BINARY 值放入数据库的信息,请参见SET 语句

权限

必须有 INSERT 权限。

副作用

当将行插入到对值敏感的游标(即,由键集决定的游标)时,插入的行会出现在结果集的末尾处,即使它们和查询的 WHERE 子句不匹配,或者当 ORDER BY 子句以正常方式将它们放置在结果集的其它位置时也是如此。请参见通过游标修改行

另请参见
标准和兼容性
  • SQL/2003   核心特性。

示例

以下语句说明了如何在嵌入式 SQL 中使用 PUT:

EXEC SQL PUT cur_employee FROM :employeeID, :surname;