1.我想问一下在EXEC SQL update ……之后,怎么取得这个语句在执行后被数据库被更新的记录数?
2.select aa into :c from table1 where b=1, 如果这里aa是一个变量,代表具体的字段名,怎么写EXEC SQL语句?
2.select aa into :c from table1 where b=1, 如果这里aa是一个变量,代表具体的字段名,怎么写EXEC SQL语句?
SQL%ROWCOUNT 记录的影响行数---
EXECUTE IMMEDIATE v_sql; IF SQL%ROWCOUNT = 0 --当记录数为0时。
THEN
...
END IF;
declare 变量C 变量类型;
begin
select aa into 变量C from table1 where b=1;
end;--这样就可以了
那样用动态sql
sqlca.sqlerrd[2]
第二个问题,使用动态SQL语句,比如prepare语句
查看例子代码
sprintf(dynstmt.arr,
"select %s into :c from table1 where b=1",aa);
dynstmt.len = (unsigned short)strlen((char *)dynstmt.arr);
EXEC SQL PREPARE S FROM :dynstmt;
EXEC SQL DECLARE C CURSOR FOR S;
EXEC SQL OPEN C ;
2、先声明变量declare