- 浏览: 65342 次
- 性别:
- 来自: 福州
最新评论
因需求的关系需要将修改的值返回,故查了些资料发现了OUTPUT这个好东西,现记录下来以防以后忘记
使用例子:
1.对于INSERT,可以引用inserted表以查询新行的属性.
insert into [表名] (a) OUTPUT Inserted.a values ('a')
2.对于DELETE,可以引用deleted表以查询旧行的属性.
delete [表名] OUTPUT deleted.a where links = 'a'
3.对于UPDATE,使用deleted表查询被更新行在更改前的属性,用inserted表标识被更新行在更改后的值.
update [表名] set a = 'b' OUTPUT Inserted.a where a = 'a'(返回修改后的值)
update [表名] set a = 'b' OUTPUT deleted.a where a = 'a' (返回修改前的值)
使用例子:
1.对于INSERT,可以引用inserted表以查询新行的属性.
insert into [表名] (a) OUTPUT Inserted.a values ('a')
2.对于DELETE,可以引用deleted表以查询旧行的属性.
delete [表名] OUTPUT deleted.a where links = 'a'
3.对于UPDATE,使用deleted表查询被更新行在更改前的属性,用inserted表标识被更新行在更改后的值.
update [表名] set a = 'b' OUTPUT Inserted.a where a = 'a'(返回修改后的值)
update [表名] set a = 'b' OUTPUT deleted.a where a = 'a' (返回修改前的值)
发表评论
-
Oracle的ORA-02292报错:违反完整性约束,已找到子记录
2019-09-20 10:59 859第一步就是找到子表的记录: select a.constrai ... -
expdp / impdp 用法详解
2017-07-31 14:12 729一 关于expdp和impdp 使用EXPDP和IM ... -
linux常用操作记录
2017-07-18 14:41 5681.获取账号权限 sudo -u orapub -i 2. ... -
visio2016下载以及永久激活
2017-07-17 16:55 7224下载地址:http://www.tc12580.com/vp. ... -
CGLIB介绍与原理
2017-07-14 15:07 610转载至:http://blog.csdn.net/zghwai ... -
cmd查看指定端口使用情况
2017-05-31 17:30 509netstat -ano|findstr 8080 数据含义 ... -
解决java连接SQLSERVER数据库之驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:Could not gen
2017-04-02 22:52 3612操作系统win10 x64,sql2016 这个问题是JDK ... -
SQL Server2016企业版 附全版本key
2017-03-29 21:28 3560Microsoft SQL Server 2016是一个全面的 ... -
共用局域网同一个IP
2017-03-15 17:03 6751.先arp -a获取IP的MAC地址 2.本地连接-> ... -
sql删除重复数据
2017-01-09 10:49 414delete from [表名] where id not i ... -
Windows 2003服务器硬盘增加空间
2016-05-07 14:21 738大家都知道,windows服务器下面是无法直接将新升级的磁盘空 ... -
SQL2005数据库变成"可疑"的解决方法
2015-08-04 18:00 590DBName为数据库名 USE MASTER GO SP ... -
MongoDB可视化IDE(MongoVUE 1.6.9破解版)
2015-07-27 16:45 1359如题,仅作安装包备份 安装操作: 1.先安装Installe ... -
已成功加载 或删除WmiApRpl服务 解决方案
2015-06-01 13:45 2092来源 loadpref ID:1000 ... -
Java连接Access数据库(JDBC)
2015-05-29 10:06 987因项目需求,需要Access数据库,现将测试通过代码记录下来, ... -
JAVA中文切词
2015-05-12 10:22 892因项目需要对中文进行切词,故找同事要了段代码,现记录下来,以便 ... -
Mongodb常用操作记录
2015-04-22 09:01 559安装:mongod --dbpath "C:\mon ... -
windows各版本序列号集合
2014-11-13 10:31 1236因经常使用,避免每次都上网到处找,在此做了集合(不定期更新) ... -
windows2003添加服务
2013-11-16 17:05 973因工作需要所以上网查 ... -
sql替换某字段内容的语句
2013-10-23 17:31 1855update 表名 set 字段名=replace(cast( ...
相关推荐
在SQL Server 2005中,`OUTPUT`子句是一个强大的特性,它允许你在执行`INSERT`, `UPDATE`, 或 `DELETE`语句时捕获受影响的数据行。这个功能非常实用,因为它允许开发者实时跟踪数据库中的变化,而无需额外的查询来...
- `OLD.column_name`: 旧记录中的字段值(仅用于`UPDATE`和`DELETE`操作)。 示例: ```sql CREATE OR REPLACE TRIGGER temp_air AFTER INSERT ON temp FOR EACH ROW WHEN (NEW.ID = 0) BEGIN DBMS_OUTPUT.PUT_...
这种游标主要用于处理INSERT、UPDATE、DELETE以及返回单行的SELECT INTO语句,无需用户显式声明和管理。由于它是由Oracle系统在后台自动处理,因此被称为隐式或SQL游标。 1. 隐式游标的工作原理: 当执行非查询的...
这些事件可以是INSERT、UPDATE或DELETE操作,或者是DDL(Data Definition Language)语句,如CREATE、ALTER或DROP。触发器允许开发人员在数据库层面上实现复杂的业务规则和逻辑,提供了一种在数据修改前后进行操作的...
MySQL支持三种类型的触发器:BEFORE INSERT、AFTER INSERT、BEFORE UPDATE、AFTER UPDATE、BEFORE DELETE和AFTER DELETE。这些触发器分别在相应的DML操作之前或之后执行。例如,在上面的代码片段中,“before insert...
MySQL触发器是数据库管理系统中的一种重要特性,它允许用户在特定的数据库操作(如INSERT、UPDATE或DELETE)发生之前或之后自动执行预定义的SQL语句。这种特性使得数据库能实现更复杂的业务逻辑和数据一致性规则,而...
PL/SQL 块中只能直接嵌入 SELECT、DML(INSERT、UPDATE、DELETE)和事务控制语句(COMMIT、ROLLBACK、SAVEPOINT),而不能直接嵌入 DDL 语句(CREATE、ALTER、DROP)和 DCL 语句(GRANT、REVOKE)。 检索单行数据 ...
不带WHERE的DELETE会删除表中的所有记录,因此需谨慎使用。 在"SQL练习补充"中,你可能会遇到各种实际场景下的DML语句应用问题,如: - **多条件更新**:如何根据多个条件更新记录? - **批量插入**:如何一次性...
1. DML触发器:由INSERT、UPDATE、DELETE操作触发,用于在数据修改时执行额外的操作,如验证、审计或同步其他表的数据。DML触发器是确保数据完整性的有力工具。 2. DDL触发器:由CREATE、ALTER、DROP等数据定义语言...
#### 6.5 在 DELETE 语句中使用 PL/SQL 记录 虽然记录不能直接用于 DELETE 语句,但可以使用其成员。 ```sql DELETE FROM employees WHERE employee_id = v_emp.employee_id; ``` ### 七、PL/SQL 集合 #### 7.1 ...
隐式游标是Oracle自动管理的,当你在PL/SQL块中执行DML语句(如INSERT, UPDATE, DELETE)时,系统会默认使用。隐式游标提供了几个内置属性来检查执行结果,如SQL%FOUND(表示是否找到并处理了至少一行数据)、SQL%...
- **OUTPUT子句的使用**:OUTPUT子句可以与INSERT、UPDATE和DELETE语句结合使用,它会根据语句修改的行返回数据。这意味着,开发人员不仅能够执行基本的数据库操作,还能即时获取操作的结果,这在需要实时反馈或审计...
(1)触发器可以声明为在对记录进行操作之前,在之前(检查约束之前和 INSERT,UPDATE 或 DELETE 执行前)或之后(在检查约束之后和完成 INSERT, UPDATE 或 DELETE 操作)触发.。 (2)一个 FOR EACH ROW 执行指定操作...
触发器是一种特殊的存储过程,当特定的数据库操作(如INSERT、UPDATE或DELETE)发生时,它们会自动执行,提供了对数据的精细控制和复杂业务逻辑的实现。触发器在数据库设计中扮演着重要角色,例如强制数据一致性、...
- `insert, update, delete`: 触发事件类型。 - `SQL_statement`: 执行的SQL语句。 **示例:** ```sql CREATE TRIGGER trg_InsertEmployee ON Employees AFTER INSERT AS BEGIN DECLARE @FirstName varchar(50); ...
Oracle触发器是数据库管理系统Oracle中的一个关键特性,用于在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的PL/SQL代码。触发器可以用来强制执行业务规则、实现复杂的数据验证和同步操作,...