功能:插入,删除,更新返回操作的记录字段,赋值到变量。
注意:更新,删除多条记录时需要把返回的记录赋值到复合变量数组中
--插入一条记录并返回赋值给变量
declare
row_id rowid;
info varchar2(40);
begin
insert into scott.dept values(60,'财务室','河南')
returning rowid,dname || ':' || to_char(deptno) || ':' || loc
into row_id,info;
dbms_output.put_line(info);
end;
--更新一条记录并返回赋值给变量
declare
row_id rowid;
info varchar2(40);
begin
update scott.dept set deptno = 51 where dname = '财务室'
returning rowid,dname || loc
into row_id,info;
end;
--删除一条记录并返回赋值给变量
declare
row_id rowid;
info varchar2(40);
begin
delete scott.dept where dname = '财务室'
returning rowid, dname || loc
into row_id,info;
end;
分享到:
相关推荐
Oracle的RETURNING子句是DML操作(INSERT, UPDATE, DELETE)中的一种功能,它允许在执行这些操作后立即获取处理的数据。RETURNING子句在更新、插入或删除记录时非常有用,因为它能够直接将结果返回给PL/SQL变量或者...
UPDATE table SET column = new_value RETURNING id INTO variable WHERE condition; ``` - 注意点: DB2中没有直接对应的语法,但可以使用 `SELECT` 语句配合事务控制实现。 #### 15. 查询DUAL - **Oracle** 中...
Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest returning NULL Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest returning NULL Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest ...
Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest returning NULL Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest returning NULL Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest ...
UPDATE table SET col = new_val RETURNING col INTO v1 WHERE id = 1; ``` **DB2:** ```sql UPDATE table SET col = new_val WHERE id = 1; FETCH FIRST 1 ROWS ONLY INTO v1; ``` **注意:** Oracle使用`...
- 集合操作:INSERT, UPDATE, DELETE - 非标准集合类型:PL/SQL记录类型 6. **Chapter08 - 分布式处理** - 远程数据访问:DB_LINK - 过程调用协议(PCP)和分布式事务 - 异步处理:DBMS_JOB和DBMS_SCHEDULER ...
EXECUTE IMMEDIATE 动态 SQL 语句 USING 绑定参数列表 RETURNING INTO 输出参数列表; 其中,动态 SQL 语句是指 DDL 和不确定的 DML(即带参数的 DML)。绑定参数列表为输入参数列表,即其类型为 IN 类型,在运行...
- **RETURNING INTO**:在`DELETE`或`UPDATE`语句后,使用`BULK COLLECT`来获取受影响行的信息。 #### 四、示例 ##### 1. 在SELECT INTO语句中使用BULK COLLECT ```plsql DECLARE TYPE sal_list IS TABLE OF emp...
- out-bind(输出绑定):当INSERT, UPDATE, 或 DELETE语句的RETURNING子句将数据库值分配给PL/SQL变量或主机变量。 - define(定义绑定):当SELECT或FETCH语句将数据库值分配给PL/SQL变量或主机变量。 3. **DML...
1. **明确横切关注点**:在使用@AfterReturning 之前,确保你已经识别出了需要在目标方法执行后处理的横切关注点,如日志记录、性能监控或事务管理。 2. **合理定义切入点**:使用切入点表达式精确地定义哪些方法...
例如,MySQL的`LAST_INSERT_ID()`在Oracle中可能需要使用`RETURNING INTO`语句。 5. **性能优化**:Oracle提供了许多高级特性,如分区、物化视图、索引等,用于提升性能。迁移后,根据业务需求对新数据库进行性能...
- 触发器在特定数据库事件发生时自动执行,如INSERT、UPDATE、DELETE。 - 存储过程是一组SQL语句和控制结构,可作为独立的数据库对象调用。 10. **事务和并发控制**: - COMMIT、ROLLBACK、SAVEPOINT用于事务...
《深入理解FindBugs:可能通过返回暴露内部表示——“NULL”问题分析》 在软件开发过程中,确保代码的质量和安全至关重要。FindBugs作为一款静态代码分析工具,能够帮助开发者在程序运行前发现潜在的问题。...
在 PL/SQL 中执行数据操纵语言 (Data Manipulation Language, DML) 语句(如 INSERT、UPDATE 和 DELETE)时,可以使用 RETURNING 子句来检索操作结果。 **3.1 插入记录示例** ```sql DECLARE Row_id ROWID; info ...
RETURNING PHOTO INTO lob_loc; WHILE (amount > 0) LOOP UTL_FILE.FREAD(file_handle, buffer, 32767, amount); DBMS_LOB.WRITEAPPEND(lob_loc, amount, buffer); pos := pos + amount; END LOOP; UTL_FILE....
EXECUTE IMMEDIATE '动态SQL语句' USING [绑定变量] RETURNING INTO [输出变量]; ``` - **DDL语句**:可以用来执行DDL语句,如创建表等。 - **DML语句**:支持动态执行各种DML语句,如插入、更新、删除等。 - **...
, empty_clob()) RETURNING content INTO ?"); psInsert.setInt(1, 1); psInsert.registerOutParameter(2, OracleTypes.CLOB); psInsert.executeUpdate(); Clob clob = (Clob) psInsert.getObject(2); Writer ...
以上内容覆盖了Oracle基础语法的重要方面,包括SQL分类、`SELECT FOR UPDATE` 语句、`LOCK TABLE` 命令、动态 SQL 以及表连接等核心概念。通过掌握这些知识点,你可以更有效地管理和操作Oracle数据库中的数据。
EXECUTE IMMEDIATE 'SELECT NAME, SALARY FROM EMP WHERE ID = :1' USING P_ID RETURNING INTO V_NAME, V_SALARY; DBMS_OUTPUT.PUT_LINE(V_NAME || ' 的收入为:' || TO_CHAR(V_SALARY)); EXCEPTION WHEN OTHERS ...