动态sql语句不能重复执行的问题
数据库Sybase,开发语言为c
写了一个动态查询的程序,采用动态游标
sqlstr为查询语句
EXEC SQL PREPARE sqlid FROM :sqlstr;
EXEC SQL DECLARE qry_cursor CURSOR FOR sqlid;
EXEC SQL OPEN qry_cursor USING :AA;
while(1){
EXEC SQL FETCH qry_cursor INTO :a;
}
EXEC SQL CLOSE qry_cursor;
大体上就是这样子的,第一次运行成功,之后再运行就会报错,提示EXEC SQL PREPARE 语句出错:
sqlcode=-2010,错误提示:A procedure by that name already exists.
如果我把程序执行后都断开数据库,重新连接,就不会报错,请教这是什么原因啊?