GBASE 8C——SQL参考6 sql语法(5)

功能描述提交当前事务。语法格式COMMIT [ WORK | TRANSACTION ]参数说明注意事项执行COMMIT这个命令的时候,命令执行者必须是该事务的创建者或系统管理员,且创建和提交操作可以不在同一个会话中。语法兼容符合SQL标准。相关语法BEGIN, ROLLBACK, END功能描述提交一个预先为两阶段提交准备好的事务。语法格式COMMIT PREPARED transaction_id参数说明注意事项语法兼容COMMIT PREPARED是一种 PostgreSQL扩展。相关语法PREPAR
摘要由CSDN通过智能技术生成
  1. COMMIT

功能描述

提交当前事务。

语法格式

COMMIT [ WORK | TRANSACTION ]

参数说明

  1. WORK | TRANSACTION:可选的关键词,没有具体效果。

注意事项

执行COMMIT这个命令的时候,命令执行者必须是该事务的创建者或系统管理员,且创建和提交操作可以不在同一个会话中。

语法兼容

符合SQL标准。

相关语法

BEGIN, ROLLBACK, END

  1. COMMIT PREPARED

功能描述

提交一个预先为两阶段提交准备好的事务。

语法格式

COMMIT PREPARED transaction_id

参数说明

  1. transaction_id:待提交事务的标识符,它不能和任何当前预备事务已经使用了的标识符同名;

注意事项

  1. 命令执行者必须是该事务的创建者或系统管理员,且创建和提交操作可以不在同一个会话中。
  2. 事务功能由数据库自动维护,不应显式使用事务功能。

语法兼容

COMMIT PREPARED是一种 PostgreSQL扩展。

相关语法

PREPARE TRANSACTION, ROLLBACK PREPARED

  1. COPY

功能描述

实现在表和文件之间拷贝数据。

语法格式

COPY table_name [ ( column_name [, ...] ) ]

    FROM { 'filename' | PROGRAM 'command' | STDIN }

    [ [ WITH ] ( option [, ...] ) ]

COPY { table_name [ ( column_name [, ...] ) ] | ( query ) }

    TO { 'filename' | PROGRAM 'command' | STDOUT }

    [ [ WITH ] ( option [, ...] ) ]

其中 option 可以是下列之一:

    FORMAT format_name

    OIDS [ boolean ]

    FREEZE [ boolean ]

    DELIMITER 'delimiter_character'

    NULL 'null_string'

    HEADER [ boolean ]

    QUOTE 'quote_character'

    ESCAPE 'escape_character'

    FORCE_QUOTE { ( column_name [, ...] ) | * }

    FORCE_NOT_NULL ( column_name [, ...] )

    FORCE_NULL ( column_name [, ...] )

    ENCODING 'encoding_name'

参数说明

  1. table_name:表的名字,可以被模式修饰;
  2. column_name:可选的待拷贝字段列表;
  3. query:其结果将被拷贝,注意查询要用圆括号包围;
  4. filename:输入或者输出文件的路径名,其中输入文件的名称可以是绝对或相对路径, 但输出文件的名称必须是绝对路径;
  5. PROGRAM:将要执行的命令,由shell调用;
  6. STDIN:声明输入是来自标准输入;
  7. STDOUT:声明输出打印到标准输出;
  8. boolean:指定选中的选项是应该被关闭还是打开,可以写TRUE、ON或1来启用选项,写 FALSE、OFF或0禁用,缺省默认为TRUE;
  9. FORMAT:选择要读取或者写入的数据格式,可选的参数:text、csv或者binary,默认为text;
  10. OIDS:为每行拷贝内部对象标识,OIDS只在CN和DN节点本地维护,如果将OIDS复制到其他节点可能会发生冲突;
  11. FREEZE:请求复制已经完成了行冻结的数据,类似于在运行VACUUM FREEZE命令之后复制;
  12. DELIMITER:指定分隔文件每行中各列的字符;文本格式中默认是一个制表符,而CSV格式中默认是一个逗号,必须是一个单一的单字节字符,使用binary格式时不允许这个选项;
  13. NULL:用来指定数据文件中空值的表示;
  14. HEADER:指定导出数据文件是否包含标题行,标题行一般用来描述表中每个字段的信息,只能用于CSV格式的文件中;
  15. QUOTE:CSV格式文件下的引号字符,默认使用双引号;
  16. ESCAPE:CSV格式下,用来指定逃逸字符,逃逸字符只能指定为单字节字符,默认值为双引号;
  17. FORCE_QUOTE:CSV格式下,强制必须对每个指定列中的所有非NULL值使用引用;标*将引用所有列的非NULL值;
  18. FORCE_NOT_NULL:在CSV COPY FROM模式下,指定的字段输入不能为空;
  19. FORCE_NULL:在CSV COPY FROM模式下,将指定值与空值串匹配;
  20. ENCODING:指定文件编码格式名称。

注意事项

COPY只能用于表,不能用于视图。

对任何要插入数据的表必须有插入权限。

如果声明了一个字段列表,COPY将只在文件和表之间拷贝已声明字段的数据。如果表中有任何不在字段列表里的字段,COPY FROM将为那些字段插入缺省值。

如果声明了数据源文件,服务器必须可以访问该文件;如果指定了STDIN,数据将在客户前端和服务器之间流动,输入时,表的列与列之间使用TAB键分隔,在新的一行中以反斜杠和句点(\.)表示输入结束。

如果数据文件的任意行包含比预期多或者少的字段,COPY FROM将抛出一个错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值