摘要:
--创建一个user信息表 create table user_info( id number(2) primary key, name varchar2(10) unique ); --插入数据 insert into user_info(id,name)values(1,'曹操'); inser 阅读全文
摘要:
输出99乘法表 declare begin for i in 1..9 loop for j in 1..i loop --不换行输出数据 dbms_output.put(j||'*'||i||'='||(j*i)); end loop; --换行输出 dbms_output.put_line(nu 阅读全文
摘要:
隐式游标 如前所述,DML操作和单行SELECT语句会使用隐式游标,它们是: * 插入操作:INSERT。 * 更新操作:UPDATE。 * 删除操作:DELETE。 * 单行查询操作:SELECT ... INTO ...。 当系统使用一个隐式游标时,可以通过隐式游标的属性来了解操作的状态和结果, 阅读全文
摘要:
FOREIGN KEY 约束并不仅仅可以与另一表的 PRIMARY KEY 约束相链接,它还可以定义为引用另一表的 UNIQUE 约束。FOREIGN KEY 约束可以包含空值,但是,如果任何组合 FOREIGN KEY 约束的列包含空值,则将跳过组成 FOREIGN KEY 约束的所有值的验证。若 阅读全文
摘要:
标号和GOTO PL/SQL中GOTO语句是无条件跳转到指定的标号去的意思。语法如下: GOTO label; ......<<label>> /*标号是用<< >>括起来的标识符 */ 注意,在以下地方使用是不合法的,编译时会出错误。 u 跳转到非执行语句前面。 u 跳转到子块中。 u 跳转到循环 阅读全文
摘要:
CASE 表达式 例4: 1 DECLARE 2 V_grade char(1) := UPPER('&p_grade'); 3 V_appraisal VARCHAR2(20); 4 BEGIN 5 V_appraisal := 6 CASE v_grade 7 WHEN 'A' THEN 'Ex 阅读全文
摘要:
INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始 到字符的结尾就结束。 语法如下: instr( string1, string2 [, start_position [, 阅读全文
摘要:
【解决方法】Oracle一次插入多条记录 要向数据库中写入多条记录,记录集已经确定,如果一次一次插入势必影响效率。 解决方法: 注意: 上面最后一个select之后没有union all,否则报错。 阅读全文
摘要:
添加NOT NULL约束 alter table tb_name modity column_name constraint nt_name not null; 需要注意的是,添加NOT NULL约束并不使得add constraint语句,而是使用modify。 添加FOREIGN KEY约束 a 阅读全文
摘要:
重命名表 对于已存在的表,还可以修改其名称。重命名表有两种语法形式,一种是使用ALTER TABLE语句,语法如下:ALTER TABLE table_name RENAME TO new_table_name;另一种是直接使用RENAME语句,语法如下: RENAME table_name TO 阅读全文
摘要:
For循环有2种,分别是数值型FOR循环和游标型FOR循环: 1 --数值型For循环procedure loop_num_for 2 ( 3 lowest in number, 4 highest in number 5 ) 6 isbegin 7 FOR even_number in lowes 阅读全文
摘要:
在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列。常用的LOOP循环语句包含3种形式:基本的LOOP、WHILE...LOOP和FOR...LOOP。 LOOP语句的基本语法结构如下: 1 [<<label_name>>] 2 LOOP 3 stateme 阅读全文
摘要:
1.java连接oracle的jar包 链接所使用的jar包 :ojdbc14.jar 2.数据库连接字符串 String driver="oracle.jdbc.OracleDriver"; String url="jdbc:oracle:thin:@192.168.56.10:1521:orcl 阅读全文
摘要:
3.触发器实际应用 3.触发器实际应用 需求:使用序列,触发器来模拟mysql中自增效果 案例中的效果是通过序列和触发器来实现对user表中的id自增的效果 每次进行添加的时候,触发器都会从序列中取出一个序列id添加到user正在插入的这条数据中; 创建序列 1、建立表 1 create table 阅读全文
摘要:
触发器 数据库触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时,Oracle自动地执行触发器中定义的语句序列。 1.触发器作用 数据确认 实施复杂的安全性检查 做审计,跟踪表上所做的数据操作等 数据的备份和同步 阅读全文
摘要:
包和包体的定义是分开的, 包中存储的是声明, 包体中存储的是存储过程的实现 举例:查询某个部门中的所有员工信息 > 返回集合 包头 CREATE OR REPLACE PACKAGE MYPACKAGE AS type empcursor is ref cursor; //自定义一个集合类型 pro 阅读全文
摘要:
ORACLE数据库事务隔离级别 事务隔离级别:一个事务对数据库的修改与并行的另一个事务的隔离程度。 两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题: 1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用 阅读全文
摘要:
事务具有四个特征(ACID):原子性( Atomicity )指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状态。一致性( Consistency )事 阅读全文
摘要:
存储函数 create or replace function 函数名(Name in type, Name out type, ...) return 数据类型 is 结果变量 数据类型; begin return(结果变量); end[函数名]; 存储过程和存储函数的区别 一般来讲,过程和函数的 阅读全文