Oracle SQL语句大全(三)
例子2: SQL> declare 2 v_name varchar2(20); 3 begin 4 v_name:='myname'; 5 dbms_output.put_line(v_name); 6 end; 7 / myname 例子3: SQL> declare 2 v_num number:=0; 3 begin 4 v_num:=2/v_num; 5 dbms_output.put_line(v_num); 6 end; 7 / declare * ERROR 位于第 1 行: ORA-01476: 除数为 0 ORA-06512: 在line 4 例子4: declare v_num number:=0; begin v_num:=2/v_num; dbms_output.put_line(v_num); exception when others then dbms_output.put_line('error'); end; / 变量声明的规则 1.变量名不能够使用保留字,如from,select等 2.第一字符必须是字母。 3.变量名最多包含30个字符 4.不要与数据库的表或者列同名 5.每一行只能声明一个变量 常用变量类型 1. binary_interger,整数,主要用来计数,而不是用来表示字段类型2. number 数字类型3. char 定长字符串 4. varchar2 变长字符串 5. date 日期 6.long 长字符串,最长2GB 7.boolean 布尔类型,可以取true false 和null的值 例5: declare v_temp number(1); v_count binary_integer:=0; v_sal number(7,2):=4000.00; v_date date:=sysdate; v_pi constant number(3,2):=3.14; v_valid boolean:=false; v_name varchar2(20) not null:='myname'; begin dbms_output.put_line('v_temp value:'||v_temp); end; 用--可以注释一行 例6: declare v_empno number(4); v_empno2 emp.empno%type; v_empno3 v_empno2%type; begin dbms_output.put_line('test'); end; 例7 table变量类型 set serveroutput on; declare type type_table_emp_empno is table of emp.empno%type index by binary_integer; v_empnos type_table_emp_empno; begin v_empnos(0):=7369; v_empnos(2):=7869; v_empnos(-1):=9999; dbms_output.put_line(v_empnos(-1)); end; 例8 Record 变量类型 set serveroutput on; declare type type_record_dept is record ( deptno dept.deptno%type, dname dept.dname%type, loc dept.loc%type ); v_temp type_record_dept; begin v_temp.deptno:=50; v_temp.loc:='aaaa'; v_temp.loc:='bj'; dbms_output.put_line(v_temp.deptno||' '||v_temp.dname); end;
例9: 使用%rowtype声明record变量(表结构的变化同时也能代理储存过程的变化) set serveroutput on; declare v_temp dept%rowtype; begin v_temp.deptno:=50; v_temp.loc:='aaaa'; v_temp.loc:='bj'; dbms_output.put_line(v_temp.deptno||' '||v_temp.dname); end; 例10; declare v_name emp.ename%type; v_sal emp.sal%type; begin select ename,sal into v_name,v_sal from emp where empno=7369;(将ename和sal的值放在v_name和v_sal里面)end;例11: declare v_name emp.ename%type; v_sal emp.sal%type; begin select ename,sal into v_name,v_sal from emp where empno=7369; dbms_output.put_line(v_name||' '||v_sal); end; dbms_output.put_line(v_name||' '||v_sal); end; 例12: declare v_deptno dept.deptno%type:=50; v_dname dept.dname%type:='aaaa'; v_loc dept.loc%type:='bj'; begin insert into dept2 values(v_deptno,v_dname,v_loc); commit; end; 例13: declare v_deptno emp2.deptno%type:=50; v_count number; begin update emp2 set sal=sal/2 where deptno=v_deptno; dbms_output.put_line(sql%rowcount ||'条记录被影响');(sql为关键字,代表上一条语句 commit; end; / 例14: declare v_deptno emp2.deptno%type:=50; v_count number; begin --update emp2 set sal=sal/2 where deptno=v_deptno; select deptno into v_deptno from emp2 where empno=7369; dbms_output.put_line(sql%rowcount ||'条记录被影响');(sql为关键字,代表上一条语句 commit; end; / 例15 declare v_deptno emp2.deptno%type:=50; v_count number; begin --update emp2 set sal=sal/2 where deptno=v_deptno; --select deptno into v_deptno from emp2 where empno=7369; select count(*) into v_count from emp2; (select必须和into一起使用) dbms_output.put_line(sql%rowcount ||'条记录被影响'); commit; end; / PL/SQL里面执行DDL语句 begin execute immediate 'create table T(nnn varchar2(20) default ''aaa'')'; 例11: declare v_name emp.ename%type; v_sal emp.sal%type; begin select ename,sal into v_name,v_sal from emp where empno=7369; dbms_output.put_line(v_name||' '||v_sal); end; dbms_output.put_line(v_name||' '||v_sal); end; 例12: declare v_deptno dept.deptno%type:=50; v_dname dept.dname%type:='aaaa'; v_loc dept.loc%type:='bj'; begin insert into dept2 values(v_deptno,v_dname,v_loc); commit; end; 例13: declare v_deptno emp2.deptno%type:=50; v_count number; begin update emp2 set sal=sal/2 where deptno=v_deptno; dbms_output.put_line(sql%rowcount ||'条记录被影响');(sql为关键字,代表上一条语句 commit; end; / 例14: declare v_deptno emp2.deptno%type:=50; v_count number; begin --update emp2 set sal=sal/2 where deptno=v_deptno; select deptno into v_deptno from emp2 where empno=7369; dbms_output.put_line(sql%rowcount ||'条记录被影响');(sql为关键字,代表上一条语句 commit; end; / 例15 declare v_deptno emp2.deptno%type:=50; v_count number; begin --update emp2 set sal=sal/2 where deptno=v_deptno; --select deptno into v_deptno from emp2 where empno=7369; select count(*) into v_count from emp2; (select必须和into一起使用) dbms_output.put_line(sql%rowcount ||'条记录被影响'); commit; end; / PL/SQL里面执行DDL语句 begin execute immediate 'create table T(nnn varchar2(20) default ''aaa'')'; 例11: declare v_name emp.ename%type; v_sal emp.sal%type; begin select ename,sal into v_name,v_sal from emp where empno=7369; dbms_output.put_line(v_name||' '||v_sal); end; dbms_output.put_line(v_name||' '||v_sal); end; 例12: declare v_deptno dept.deptno%type:=50; v_dname dept.dname%type:='aaaa'; v_loc dept.loc%type:='bj'; begin insert into dept2 values(v_deptno,v_dname,v_loc); commit; end; 例13: declare v_deptno emp2.deptno%type:=50; v_count number; begin update emp2 set sal=sal/2 where deptno=v_deptno; dbms_output.put_line(sql%rowcount ||'条记录被影响');(sql为关键字,代表上一条语句 commit; end; / 例14: declare v_deptno emp2.deptno%type:=50; v_count number; begin --update emp2 set sal=sal/2 where deptno=v_deptno; select deptno into v_deptno from emp2 where empno=7369; dbms_output.put_line(sql%rowcount ||'条记录被影响');(sql为关键字,代表上一条语句 commit; end; / 例15 declare v_deptno emp2.deptno%type:=50; v_count number; begin --update emp2 set sal=sal/2 where deptno=v_deptno; --select deptno into v_deptno from emp2 where empno=7369; select count(*) into v_count from emp2; (select必须和into一起使用) dbms_output.put_line(sql%rowcount ||'条记录被影响'); commit; end; /
转载于:https://www.cnblogs.com/ruishuang208/p/4095397.html
Oracle SQL语句大全(三)相关推荐
- Oracle查询所有序列;[oracle中如何创建表的自增ID(通过序列);oracle sql语句大全
Oracle查询所有序列 oracle sql语句大全 oracle中如何创建表的自增ID(通过序列)
- oracle sql语句大全
ORACLE支持五种类型的完整性约束NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值.CHECK (检查)--检查在约束中 ...
- Oracle SQL语句大全(二)
avg(sal) desc; 查找部门中平均薪水打印2000的员工并按部门号进行排序,查询分组后的平均薪水必须大于1500,查询结果按平均薪水从低到高排列 49.select ename from e ...
- Oracle的SQL语句大全(摘)--- 复杂
数据库各个表空间增长情况的检查: SQL >SELECT A.TABLESPACE_NAME,( 1 -(A.TOTAL)/B.TOTAL)* 100 USED_PERCENT FROM (SE ...
- ORACLE常用SQL语句大全
ORACLE常用SQL语句大全 DDL:数据库定义语言(CREATE.ALTER.DROP.TRUNCATE.COMMENT.RENAME),用来创建数据库中的表.索引.视图.存储过程.触发器等对象的 ...
- mysql数据库sql语句大全
mysql sql语句大全 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql se ...
- [转]SQL语句大全
[转]SQL语句大全 SQL语句大全 --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除 ...
- 经典SQL语句大全、50个常用的sql语句
50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,T ...
- 常用经典SQL语句大全完整版--详解+实例 (存)
常用经典SQL语句大全完整版--详解+实例 转 傻豆儿的博客 http://blog.sina.com.cn/shadou2012 http://blog.sina.com.cn/s/blog_84 ...
最新文章
- FLASH全屏,左右侧,闪烁广告及对错觉的代码补充.
- javascript 数字的常用方法
- 云舒网络译:Rancher1.0正式版公布
- Spring Cloud Gateway(过滤器)
- Python之每个人都应该知道的30个一行代码程序
- VSCode配置Python编辑器
- SAP Fiori里两种锁机制(lock)的实现
- ASP.NET MVC数据验证(上)
- 演示: 动态NAT完成网络地址翻译
- 用计算机算出鞋子的鞋码,【鞋子尺码对照】鞋子尺码怎么算_鞋子尺码怎么量 - 妈妈网百科...
- 华科一篇 20 年前硕士论文,「神预言」深圳赛格大厦晃动?导师回应
- struts2 过滤器和拦截器的区别和使用
- bootstrap和圣杯布局
- 第四章Python数值计算工具 ——Numpy
- java判断一个数是否为素数的程序_java如何判断一个数是否为素数
- 2019年8月2 星期五 今日计划
- 1628_MIT 6.828 xv6_chapter0操作系统接口
- 【Java--日期的使用】
- autojs root权限命令
- 奉劝大家不要再用刷流量软件刷新浪博客等级了
热门文章
- 用UI讲故事,表达情感和创造个性
- Machinations——可视化游戏设计
- C盘不够用了怎么办,看我4年未重做系统如何清理出25G的temp磁盘空间?
- linux 文件打开数设置, too ma
- 54. Spiral Matrix
- Docker ElK安装部署使用教程
- 怎么解决深入学习PHP的瓶颈
- 洛谷 P1202 模拟 - 黑色星期五 Friday the Thirteenth
- 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是否缺少程序集引用?...
- 2017 阿里技术-年度精选