随笔分类 - oracle 数据库
oracle 数据库
摘要:【触发器和存储过程的区别】 存储过程:必须调用才能执行; 触发器:通过事件触发自动执行; 【示范】 实际应用在日志中,比如记录person_table表有哪些行为(数据增加,删除,修改)等,新建一个日志表 字段为:操作人,操作行为,操作时间 CREATE TABLE logtest_table (m
阅读全文
摘要:【语法】 is 和as 可以互用; create or replace procedure 过程名称[(参数列表)] is begin end [过程名称] 【分类】 1.不带参数的 2.带输入参数的 3.带输入输出参数(返回值)的 【不带参数的存储过程】 新建sql查询窗口中执行一下代码; cre
阅读全文
摘要:【什么是游标】 用于临时存储一个查询返回的多行数据,通过遍历游标, 可以逐行访问处理该结果集的数据 游标的使用方式:声明--》打开--》读取--》关闭 【语法】 游标声明: CURSOR 游标名[(参数列表)] IS 查询语句; 游标的打开: open 游标名; 游标的取值: FETCH 游标名 I
阅读全文
摘要:oracle中有3中循环,此处只介绍其中一种:loop循环 语法: BEGIN LOOP EXIT WHEN 退出循环条件 END LOOP; END; 【示范】: declare V_NUM NUMBER :=-1; begin LOOP EXIT WHEN V_NUM>10; 输出操作 DBMS
阅读全文
摘要:1.条件分支 语法:注意标红的写法 IF 条件1 THEN 处理方式1 ELSIF 条件2 THEN 处理方式2 ELSE 处理方式3 END IF; 【示范】 declare v_count NUMBER; begin SELECT COUNT(1) INTO v_count FROM perso
阅读全文
摘要:记录型变量:授权表中的一整行记录 语法: 变量名称 表名%ROWTYPE,列如:v_emp emp%rowtype 【示例】 测试数据: 代码: declare --记录型变量 v_emprowdata person_table%ROWTYPE; begin --查询一整行数据并赋值 SELECT*
阅读全文
摘要:1.测试表数据如下: 2 2.1引用型变量的类型和长度由表中的类型和长度决定; 案列中ename 的类型是由 person_table 中的v_name类型决定的 2.2 语法 通过 表名。列名%TYPE指定变量的类型和长度 2.3引用类型变量的好处: 使用普通变量定义方式,需要知道表中列的类型,而
阅读全文
摘要:源代码: 1.声明变量用 declare 1.给变量赋值用 := 2. 给变量赋值查询结果 select 查出的结果字段 into 被赋值的变量 from 表名 3.输出打印 dbms_output.put_line(‘打印内容’); 4.|| 拼接字符串 declare --声明变量姓名,薪水,地
阅读全文
摘要:1.选中原来的表然后删除: 2.删除成功之后:
阅读全文
摘要:问题描述:oracle中的序列是什么,如何使用。 解决方案: oracle中的序列是什么? 简单的来说,把他理解为sql server中的主键。因为Oracle没有办法像sql server一样为某个字段设置为主键自增,所有有了序列这个概念 实列: 1.创建序列: 2.查询创建的序列的下一个值: 3
阅读全文
摘要:问题描述:oracle 导出dmp文件 解决方案: 1.cmd用管理员身份运行 2.直接在命令窗口输入:exp 用户名/密码@实列名 file=文件路径 注意:安装的时候没有更改,默认实列名为orcl exp zs/zs@orcl file=d:zs001.dmp 3.成功后在D盘就 会又zs001
阅读全文
摘要:问题描述:新建的person表中原来的createtime是时间类型date , 后需把createtime改为VARCHAR2(500),但是因为person表中已经存在数据,不能直接需要字段类型,表中数据为空可直接需改字段类型。此时如何修改a字段的值: 解决方案: 1.新增备用字段: ALTER
阅读全文