execute immediate 执行SQL 怎么判断影响行数
时间: 2023-02-09 21:05:37 浏览: 220
sql_plus_command.rar_plus_sql
在使用 `EXECUTE IMMEDIATE` 执行 SQL 语句时,可以使用 `SQL%ROWCOUNT` 来判断影响的行数。这是一个隐式变量,它记录了上一个 DML(数据操纵语言,如 INSERT、UPDATE、DELETE)操作影响的行数。
例如,在执行一条 DELETE 语句后,可以使用如下代码来检查影响的行数:
```
EXECUTE IMMEDIATE 'DELETE FROM employees WHERE salary < 1000';
IF SQL%ROWCOUNT = 0 THEN
DBMS_OUTPUT.PUT_LINE('No rows were deleted.');
ELSE
DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT || ' rows were deleted.');
END IF;
```
注意,如果执行的 SQL 语句不是 DML 语句(例如 SELECT),则 `SQL%ROWCOUNT` 将不会被更新。
希望这能帮到你!
阅读全文