`
tom033
  • 浏览: 6335 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle 字段非空时唯一的触发器

阅读更多
如题我建了一个简单的表
create table test
(
id number not null,
name varchar2(64),
code varchar2(18)
)

我写了触发器,但没起作用
creater or replace trigger tg_test
before update of code on test  
for each row
declare  
cnt number;
exp_err exception;
begin
select conut(*) into from test where (code is not null) and code=:new.code;
if cnt!=0 then
raise exp_err;
end if;
exception
when exp_err then
raise _application_error(-22222,'重复');
end;



执行时查询的那语句就报错了,因为表的字段是可以用空值的,所以不用能约束!
分享到:
评论

相关推荐

    oracle数据库中的对表中字段的增删改查

    请注意,Oracle不支持在线删除非空且包含数据的列,这可能导致停机时间。 3. **修改字段(ALTER TABLE MODIFY COLUMN)** 需要改变字段类型、长度或其他属性时,可以使用`MODIFY COLUMN`。例如,如果我们发现`...

    oracle创建数据库、表、以及权限的配置

    其中,`table_name`是你想要创建的表的名称,`column`是表中的字段,`datatype`定义了字段的数据类型,`constraint`则是对字段的约束,如非空、唯一性等。 3. **创建用户**:Oracle使用角色和用户来控制访问权限。...

    ORACLE实现字段自增示例说明

    在Oracle数据库中,字段自增通常用于主键字段,确保每条记录的唯一性。...此外,如果表中已有数据,且ID字段非空,触发器可能无法正常工作,因此在应用此方法前应确保ID字段为空或已清除原有数据。

    mysql和Oracle命令的区别

    为了实现类似功能,需要创建一个序列(SEQUENCE)并将其与触发器(TRIGGER)或默认值(DEFAULT)关联,以便在插入新记录时为字段分配序列的下一个值。 2. 单引号的处理: 在 MySQL 中,字符串可以被双引号或单引号...

    oracle向达梦数据库迁移

    这一步涉及复制Oracle数据库中的表结构,包括表名、字段、数据类型、主键、外键、唯一性约束、非空约束等,并在DM8中重建。同时,迁移索引以保持查询性能,以及字段的注释和序列,用于自增字段。 四、删除键,约束...

    oracle自增长与sqlserver一样好用

    这段代码首先定义了一个`student` 表,其中包含一个非空的`ID` 字段,用于存储由序列生成的唯一标识符。接着创建了`student_seq` 序列,最后是`tr_student` 触发器,确保每当有新的学生记录插入时,`ID` 字段都能...

    oracle 查看当前会话执行的sql语句

    这里使用了`sql_hash_value`字段来关联`v$session`和`v$sqltext`两个视图,其中`&sid`是一个输入参数,代表了要查询的会话的SID。`order by piece asc`是为了按照SQL语句的片段顺序排列。 #### 3. 监控当前会话的...

    MYSQL到ORACLE程序迁移的注意事项

    MySQL的非空字段允许空内容,但Oracle的非空字段不容许。迁移时,需要检查并处理MySQL中的空字符,将其替换为一个空格字符串。 7. **字符串的模糊比较**: MySQL的`LIKE`操作在Oracle中同样可用,但可能无法利用...

    oracle通用查询系统

    约束是数据库完整性的重要保证,包括唯一性约束、非空约束、外键约束等,它们确保数据的准确性和一致性。通过这个查询系统,用户可以轻松检查和管理这些约束,以防止非法数据的输入。 在查询功能方面,该系统支持...

    Oracle的SQL语法大全

    `更新时应确保值不超过字段长度,且进行非空检查。事务处理结束后需用`COMMIT`确认,或用`ROLLBACK`撤销更改。 **注意事项**: - DML语句会锁定表,完成后再`COMMIT`。 - 避免大量操作,以防止回退段过大导致性能...

    oracle_sql笔记

    创建表时需定义每列的数据类型和约束,如非空约束、唯一性约束、主键约束等。索引用于提高查询速度,分为唯一索引、非唯一索引、位图索引和函数索引等。 四、联接操作 SQL中的JOIN操作用于合并来自两个或更多表的...

    oracle自带建表命令

    8. **自增序列**:Oracle不直接支持自增字段,但可以通过序列(SEQUENCE)和触发器(TRIGGER)实现类似功能。序列创建: ``` CREATE SEQUENCE seq_StudentID START WITH 1 INCREMENT BY 1; ``` 9. **索引**...

    Oracle课程设计-图书管理系统样例.rar

    约束则用于保证数据的完整性,如非空约束、唯一约束、外键约束等。 10. **备份与恢复** 数据库的安全性不容忽视,理解Oracle的备份与恢复策略,包括物理备份、逻辑备份和RMAN备份,以及如何使用`RESTORE`和`...

    Oracle 11R2 官方文档(中英对照版,PDF)

    - **实体完整性**:确保每张表的主键字段都有唯一且非空的值。 - **参照完整性**:维护表间关系,通过外键约束实现。 - **域完整性**:限制字段的取值范围,防止非法数据输入。 4. **并发控制与数据一致性**: ...

    oracle基础学习pdf

    - 唯一约束(UNIQUE):保证字段值的唯一性。 - 主键约束(PRIMARY KEY):定义表的标识字段,不允许重复且非空。 - 外键约束(FOREIGN KEY):实现表间的关系,确保数据的一致性和完整性。 10. **第15章 视图**...

    数据库课件 Oracle10g PPT07

    实体完整性确保主键字段的唯一性和非空性,参照完整性确保引用关系的正确性,用户定义的完整性则允许根据业务需求定制特定的规则。 2. 约束:Oracle 10g 支持七种类型的约束,它们是实现数据库完整性的主要工具。...

    Oracle数据库对象管理及备份与恢复.pdf

    此外,管理数据完整性约束是保证数据准确性的重要手段,包括外键约束、非空约束、主键约束、唯一性约束和检查约束。表的状态管理也必不可少,比如禁止(DISABLE)和激活(ENABLE)约束,以及删除(DROP)约束等。 ...

    oracle最全最有价值的知识点

    15. **触发器(TRIGGER)**:触发器在特定事件发生时自动执行,如`CREATE TRIGGER trigger_name BEFORE/ AFTER INSERT/ UPDATE/ DELETE ON table_name ...`. 以上知识点涵盖了Oracle数据库的基本操作和重要概念,是...

    oracle精髓扩充版

    5. 表级触发器和索引:可选地,可以在建表时定义触发器或索引以优化查询性能。 在"Oracle精髓扩充版"中,你将深入学习各种复杂的表定义,包括分区表、簇表、索引组织表等,以及如何使用DDL(Data Definition ...

    oracle初学者常用操作100问

    `用于选取`remark`字段非空的记录。 15. **基于关联字段更新表**:`UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE BBB.DPT_NO IS NOT NULL;`这将根据`DPT_NO`的匹配更新`...

Global site tag (gtag.js) - Google Analytics