
请问在DB2嵌入式清表语句出错怎么改?
/**清除当日日志数据*/intTruncateData(){shortactive=0;if(GetActiveLog(&active)==FAILURE){retur...
/*
* 清除当日日志数据
*/
int TruncateData()
{
short active = 0;
if(GetActiveLog(&active) == FAILURE)
{
return FAILURE;
}
switch(active)
{
case 1:
Exec Sql ALTER TABLE daily_txlog2 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE;
hua_log("DELETE FROM daily_txlog2");
if( sqlca.sqlcode != SUCCESS )
{
hua_log("TruncateData returns [%d]\n", sqlca.sqlcode);
EXEC SQL ROLLBACK;
return FAILURE;
}
break;
case 2:
Exec Sql import from /dev/null of del replace into daily_txlog1 ;
hua_log("DELETE FROM daily_txlog1");
if( sqlca.sqlcode != SUCCESS )
{
hua_log("TruncateData returns [%d]\n", sqlca.sqlcode);
EXEC SQL ROLLBACK;
return FAILURE;
}
break;
default:
return FAILURE;
}
EXEC SQL COMMIT;
return SUCCESS;
}
在用到Exec Sql import from /dev/null of del replace into daily_txlog1 ;清表时编译出错,报的错误是
592 SQL0104N An unexpected token "import from /dev/" was found
following "BEGIN-OF-STATEMENT". Expected tokens may
include: "<create_view>". SQLSTATE=42601
我要的是记录日志清表。请问这怎么改?什么地方出错了
这个环境是在AIX上 求助大神啊 急需 展开
* 清除当日日志数据
*/
int TruncateData()
{
short active = 0;
if(GetActiveLog(&active) == FAILURE)
{
return FAILURE;
}
switch(active)
{
case 1:
Exec Sql ALTER TABLE daily_txlog2 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE;
hua_log("DELETE FROM daily_txlog2");
if( sqlca.sqlcode != SUCCESS )
{
hua_log("TruncateData returns [%d]\n", sqlca.sqlcode);
EXEC SQL ROLLBACK;
return FAILURE;
}
break;
case 2:
Exec Sql import from /dev/null of del replace into daily_txlog1 ;
hua_log("DELETE FROM daily_txlog1");
if( sqlca.sqlcode != SUCCESS )
{
hua_log("TruncateData returns [%d]\n", sqlca.sqlcode);
EXEC SQL ROLLBACK;
return FAILURE;
}
break;
default:
return FAILURE;
}
EXEC SQL COMMIT;
return SUCCESS;
}
在用到Exec Sql import from /dev/null of del replace into daily_txlog1 ;清表时编译出错,报的错误是
592 SQL0104N An unexpected token "import from /dev/" was found
following "BEGIN-OF-STATEMENT". Expected tokens may
include: "<create_view>". SQLSTATE=42601
我要的是记录日志清表。请问这怎么改?什么地方出错了
这个环境是在AIX上 求助大神啊 急需 展开
3个回答
2012-10-22
展开全部
import load 不是在哪儿都能用的
1、我建议不要用ALTER TABLE daily_txlog2 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE语句来清空表,当出现异常时会导致表不可用,而且不能修复,只能删除后重建。
2、import和load语句得调用系统函数来执行:CALL SYSPROC.ADMIN_CMD('import from /dev/null of del replace into daily_txlog1');
1、我建议不要用ALTER TABLE daily_txlog2 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE语句来清空表,当出现异常时会导致表不可用,而且不能修复,只能删除后重建。
2、import和load语句得调用系统函数来执行:CALL SYSPROC.ADMIN_CMD('import from /dev/null of del replace into daily_txlog1');
追问
在sqc文件中 import用系统调用完整语句怎么写?这样?
Exec Sql CALL SYSPROC.ADMIN_CMD('import from /dev/null of del replace into daily_txlog1';
还是把Exec Sql要去掉?
追答
把CALL SYSPROC.ADMIN_CMD('import from /dev/null of del replace into daily_txlog1')当一句SQL语句执行就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询