您必须指定您当前连接到的本地数据库中表的名称或同义词。如果设置 USETABLENAME 环境变量,则您必须使用表的名称,而不是同义词。该表可为 STANDARD、RAW 或 TEMP 类型,但您不可指定视图的名称或同义词,或 CREATE EXTERNAL TABLE 语句定义了的对象。(在 对 TRUNCATE 语句的限制 部分中罗列对 TRUNCATE 无效的表的类别。)
在符合 ANSI 的数据库中,如果您不是 table 或 synonym 的所有者,则您必须指定 owner 限定符。
在 TRUNCATE 语句开始执行之后, GBase 8s 尝试在指定的表上放置排他锁,以防止其他会话锁定该表,直到提交或回滚 TRUNCATE 语句为止。排他锁还适用于表层级之内的截断表的任何依赖表。
然而,在使用 Dirty Read 隔离级别的并发会话正在读表时,TRUNCATE 语句失败并报 RSAM -106 错误。要降低此风险,您可设置 IFX_DIRTY_WAIT 环境变量来指定 TRUNCATE 操作等待 Dirty Read 事务提交或回滚的指定的秒数。