Csh*_*hah 7 db2 syntax truncate
任何人都可以给我一些截断IBM DB2中的表的语法.
我运行以下命令: truncate table tableName immediate;
错误是DB2
SQLCODE = -104,SQLSTATE = 42601,SQLERRMC = table; truncate; JOIN,DRIVER = 3.50.152消息:在"truncate"之后找到意外的令牌"table".预期的令牌可能包括:"JOIN".. SQLCODE = -104,SQLSTATE = 42601,DRIVER = 3.50.152
语法与IBM参考文档中指定的语法相匹配:http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic =/com.ibm.db29.doc.sqlref/db2z_sql_truncate. HTM
Nic*_*ely 12
有一篇关于截断的文章很棒,这里是DB2的主要内容
几乎遵循标准.(从版本9.7开始)DB2要求将IMMEDIATE关键字添加到普通的TRUNCATE TABLE语句中,例如:
TRUNCATE TABLE someschema.sometable IMMEDIATE
Run Code Online (Sandbox Code Playgroud)
TRUNCATE TABLE必须是事务中的第一个语句.以TRUNCATE TABLE开头的事务可能包含其他语句,但如果事务回滚,则TRUNCATE TABLE操作不会撤消.DB2s TRUNCATE TABLE操作有许多可选参数,有关详细信息,请参阅文档; 特别是,REUSE STORAGE参数对ad-hoc DBA任务可能很重要.在DB2版本<9.7中,您可以滥用IMPORT语句.不幸的是,您需要知道执行命令的操作系统才能使其正常工作:
在类似unix的系统上:IMPORT FROM/dev/null DEL REPLACE INTO tablename在Windows上:从ORTR的NTR删除INTO表格IMPORT不能在所有上下文中滥用.例如,在使用动态SQL时(从Java/.NET/PHP /...-不使用db2命令行处理器),您需要在调用ADMIN_CMD时包装IMPORT命令,例如:
CALL ADMIN_CMD('IMPORT FROM /dev/null OF DEL REPLACE INTO tablename')
Run Code Online (Sandbox Code Playgroud)
IMPORT似乎在涉及其他操作的事务中被允许,但它意味着立即执行COMMIT操作.
ALTER TABLE命令也可能被滥用以快速清空表,但它需要更多权限,并且可能会导致前滚恢复出现问题.
这是从网站上获取的:http: //troels.arvin.dk/db/rdbms/#bulk-truncate_table-db2
归档时间: |
|
查看次数: |
59255 次 |
最近记录: |