Orcle基本语句(六)

  1 -- Created on 2017/1/5 by ADMINISTRATOR
  2 DECLARE
  3   -- Local variables here
  4   i        INTEGER := 12;
  5   v_name   VARCHAR(15) := ‘张晓风‘;
  6   v_age    NUMBER(3) := 28;
  7   v_sex    VARCHAR(4) := ‘男‘;
  8   v_height NUMBER(3) := 150;
  9   v_age1   NUMBER(3);
 10
 11 BEGIN
 12   v_age1 := 3;
 13   -- Test statements here
 14   dbms_output.put_line(‘我叫‘ || v_name || ‘, ‘);
 15   dbms_output.put_line(‘今年‘ || v_age || ‘, ‘);
 16   dbms_output.put_line(‘性别‘ || v_sex || ‘, ‘);
 17   dbms_output.put_line(‘身高‘ || v_height || ‘, ‘);
 18 END;
 19
 20 --给100号员工的工资加1
 21 DECLARE
 22   v_sal1 number;
 23   v_sal2 number:=1;
 24 BEGIN
 25   SELECT salary INTO v_sal1 FROM employees WHERE employee_id = 100;
 26   UPDATE employees SET salary = (v_sal1 + v_sal2) WHERE employee_id =100;
 27   COMMIT;
 28 END;
 29
 30 SELECT ename, sal INTO v_ename, v_sal FROM emp WHERE empno = 7369;
 31 --查询员工编号为7369号的员工信息,列包括:姓名,薪资
 32 DECLARE
 33   v_empid NUMBER(5) := 7369;
 34   v_name  emp.ename%TYPE;
 35   v_sal   emp.sal%TYPE;
 36 BEGIN
 37   SELECT ename, sal INTO v_name, v_sal FROM emp WHERE empno = v_empid;
 38   dbms_output.put_line(‘名字:‘ || v_name || ‘,薪资:‘ || v_sal);
 39 END;
 40 --向表new_dept插入数据,部门编号为50,部门名称chinasofti,地址:zz
 41 CREATE TABLE new_dept AS SELECT * FROM dept;
 42 DECLARE
 43     v_deptno new_dept.deptno%TYPE := 50;
 44     v_dname  new_dept.dname%TYPE := ‘chinasofti‘;
 45     v_loc    new_dept.loc%TYPE := ‘zz‘;
 46 BEGIN
 47   INSERT INTO new_dept VALUES(v_deptno, v_dname, v_loc);
 48   COMMIT;
 49   END;
 50  /*录入一个数字,
 51   如果大于0小于100输出大于0小于100,
 52   如果大于0大于100输出大于0大于100
 53   如果小于0输出 小于0
 54 */
 55 DECLARE
 56   v_test number(6):=&input;
 57 BEGIN
 58   IF v_test >=0 AND v_test <=100 THEN
 59     dbms_output.put_line(‘输入的值在0和100之间‘);
 60   ELSIF v_test > 100 THEN
 61     dbms_output.put_line(‘输入的值大于100‘);
 62   ELSE
 63     dbms_output.put_line(‘输入的值小于0‘);
 64   END IF;
 65   END;
 66 -- --输入一个员工编号,判断员工工资等级(输出员工编号,姓名,工资,工资等级)
 67 --如果员工不存在,那么提示"输入的员工不存在"
 68 /*
 69 >=15000 A
 70 >=10000 B
 71 >=5000  C
 72 <5000   D
 73 */
 74 DECLARE
 75   e        employees%ROWTYPE; --表对象
 76   v_level  CHAR(1); --工资级别
 77   v_count  BINARY_INTEGER; --存放员工是否存在0不存在1存在
 78 BEGIN
 79   e.employee_id := &input;
 80   SELECT COUNT(e.employee_id)
 81     INTO v_count
 82     FROM employees
 83    WHERE employee_id = e.employee_id;
 84   IF (v_count <= 0) THEN
 85     dbms_output.put_line(‘员工不存在‘);
 86   ELSE
 87     SELECT *
 88       INTO e
 89       FROM employees
 90      WHERE employee_id = e.employee_id;
 91     IF e.salary >= 15000 THEN
 92       v_level := ‘A‘;
 93     ELSIF e.salary >= 10000 THEN
 94       v_level := ‘B‘;
 95     ELSIF e.salary >= 5000 THEN
 96       v_level := ‘c‘;
 97     ELSE
 98       v_level := ‘D‘;
 99     END IF;
100      dbms_output.put_line(‘员工编号:‘ || e.employee_id || ‘,姓名:‘ || e.last_name || ‘,工资:‘ || e.salary ||‘,工资等级:‘ ||  v_level);
101   END IF;
102 END;
103
104 --********************--
105
106 declare
107   e employees%rowtype;--表对象
108   v_level char(1);--工资级别
109   v_count binary_integer;--存放员工是否存在0不存在1存在
110
111 begin
112       e.employee_id:=&input;
113       select count(employee_id)  into v_count from employees where employee_id= e.employee_id;
114       if(v_count<=0)
115              then
116                   dbms_output.put_line(‘员工不存在‘);
117                   return;--退出
118       end if;
119       --接下来plsql块
120       select * into e from employees where employee_id= e.employee_id;-->select employee_id,first_name...,deparment_id into  v_employee_id,v_first_name...,v_deparment_id frp from employees where employee_id= v_employee_id;
121       dbms_output.put_line(‘----:‘ || e.salary);
122       if(e.salary>=15000) then
123          v_level:=‘A‘;
124       elsif(e.salary>=10000) then
125          v_level:=‘B‘;
126       elsif(e.salary>=5000) then
127          v_level:=‘C‘;
128       else
129          v_level:=‘D‘;
130       end if;
131       --输出员工编号,姓名,工资,工资等级
132       dbms_output.put_line(‘员工编号:‘ || e.employee_id || ‘,姓名:‘ || e.last_name || ‘,工资:‘ || e.salary ||‘,工资等级:‘ ||  v_level);
133   end;
134 --case语句
135 case 表达式值
136   when 值1 THEN
137     语句块1;
138   when 值2 THEN
139     语句块2;
140  end case;
141
142 --输入ABCD,输入 A优秀 B良好  C一般  D差劲
143 DECLARE
144   v_char VARCHAR2(1) := ‘&input‘;
145 BEGIN
146     CASE v_char
147     WHEN ‘A‘ THEN
148       dbms_output.put_line(‘优秀‘);
149     WHEN ‘B‘ THEN
150       dbms_output.put_line(‘良好‘);
151     WHEN ‘C‘ THEN
152       dbms_output.put_line(‘一般‘);
153     WHEN ‘D‘ THEN
154       dbms_output.put_line(‘差劲‘);
155   END CASE;
156 END;
157 --loop循环使用
158 DECLARE
159   v_i BINARY_INTEGER := 0;
160 BEGIN
161   LOOP
162     IF v_i > 10 THEN
163       EXIT;
164     END IF;
165     v_i := v_i + 1;
166     dbms_output.put_line(‘第‘ || v_i || ‘次循环‘);
167   END LOOP;
168   dbms_output.put_line(‘循环结束‘);
169 END;
170
171 --while循环使用
172 DECLARE
173   v_i BINARY_INTEGER := 0;
174 BEGIN
175   WHILE v_i < 10 LOOP
176     dbms_output.put_line(‘hello‘ || v_i);
177     v_i := v_i + 1;
178   END LOOP;
179   dbms_output.put_line(‘over‘);
180 END;
181
182 --for循环正序
183 DECLARE
184 BEGIN
185   FOR v_i IN 0 .. 10 LOOP
186     dbms_output.put_line(‘hello‘ || v_i);
187   END LOOP;
188   dbms_output.put_line(‘over‘);
189 END;
190 --for循环倒序
191 DECLARE
192 BEGIN
193   FOR v_i IN REVERSE 0 .. 10 LOOP
194     dbms_output.put_line(‘hello‘ || v_i);
195   END LOOP;
196   dbms_output.put_line(‘over‘);
197 END;
198 --循环插入10行数据
199 CREATE TABLE books(
200   author varchar2(20),
201   book number(4)
202 );
203 --FOR循环
204 DECLARE
205   v_name VARCHAR2(12) := ‘Jhon‘;
206 BEGIN
207   FOR v_i IN  1 .. 10 LOOP
208     INSERT INTO books VALUES (v_name || v_i, v_i);
209     COMMIT;
210   END LOOP;
211 END;
212 --WHILE循环
213 DECLARE
214   v_name VARCHAR2(12) := ‘Jhon‘;
215   v_i BINARY_INTEGER := 1;
216 BEGIN
217   WHILE v_i <= 10 LOOP
218     INSERT INTO books VALUES (v_name || v_i, v_i);
219     COMMIT;
220     v_i := v_i + 1;
221   END LOOP;
222 END;
223 --loop循环
224 DECLARE
225   v_name VARCHAR2(12) := ‘Jhon‘;
226   v_i    BINARY_INTEGER := 1;
227 BEGIN
228   LOOP
229     IF v_i > 10 THEN
230       EXIT;
231     END IF;
232     INSERT INTO books VALUES (v_name || v_i, v_i);
233     COMMIT;
234     v_i := v_i + 1;
235   END LOOP;
236 END;
时间: 2024-12-21 09:34:24

Orcle基本语句(六)的相关文章

Orcle基本语句(四)

1 --显示员工的编号,姓名,工资,工资级别,所在部门的名称;(使用emp表) 2 SELECT * FROM emp; 3 SELECT * FROM salgrade; 4 SELECT * FROM dept; 5 SELECT e.empno, e.ename, e.sal, s.grade, d.dname 6 FROM emp e, salgrade s, dept d 7 WHERE e.sal BETWEEN s.losal AND s.hisal 8 AND e.deptno

orcle常用语句

--1.创建临时表空间 create temporary tablespace user_temp tempfile 'D:\ORACLE\KARL\ORADATA\ORCL\AUTOMONITORV5_temp.DBF' size 50m autoextend on next 50m maxsize 10240m extent management local; --2.创建表空间 create tablespace AUTOMONITORV5 logging datafile 'D:\ORA

Mysql 语句执行顺序

转载自:http://blog.csdn.net/jintao_ma/article/details/51253356 1.这样一个问题,作为一个开发人员需要掌握数据库的哪些东西?  在开发中涉及到数据库,基本上只用到了sql语句,如何写sql以及对其进行优化就比较重要,那些mysql的厚本书籍针对的是DBA,我们只需要学习其中的sql就可以了. 2.既然会写sql是目标,那么怎么才能写好sql.学习下面几点: 1)Mysql的执行顺序,这个是写sql的核心,之前遇到的一些错误就是因为对其不了解

常见的SQL Server查询语句

// 备注:这里列出一些使用频率比较高的SQL语句语法,以便他日查询和使用 SQL语句由命令.子句.运算符和统计函数组成. 一. 命令  1. 数据定义命令: CREATE: 建立新的数据表.字段和索引表: DROP: 从数据库删除数据表或索引: ALTER: 增加或修改字段属性: 2. 数据操作命令: SELECT: 找出满足条件的记录: INSERT: 增加记录或合并两个数据表: UPDATE: 更新满足条件的记录: DELETE: 删除满足条件的记录: 二. 子句  FROM: 指定数据表

Scala基础语法(声明定义、标识符命名、Scala脚本入门)

一.声明与定义(赋值) 1.val, 常量声明   val x:T val x:T=e 2.var, 变量声明   var x:T var x:T=e ?类型省略(默认类型)val x=e var x=e ? 声明省略(连续声明) val x1,x2,x3 等价于 val x1;val x2; var x1,x2,x3:T=e  等价于  var xn:T=e 3.def,函数声明def abc(xn:T):T*=e def adder(m:Int,n:Int) =m+n def adder()

Java 第三章 运算符和条件结构 笔记

一.保存真或假,使用boolean变量      有两个值:true 真                  false 假 二.从控制台接受输入信息,通过创建扫描器     Scanner input new Scanner(System.in);     int age input.nextInt();//接收int类型     String name=input.next();//接收Strin类型 三.关系运算符     > < >= <= == != 四.==和=的区别  

javascript基础知识复习一

JavaScript 一.数据类型 A.String B.Number C.boolean  1.undefined.false.null.0.""这五个返回的都是false: 2.NAN==NAN返回false,undefined==undefined返回true: D.undefined E.null 总结:JavaScript中有五种数据类型,可以使用typeof来判断数据类型: 二.数据类型转换 A.强制转换 a.toString() (undefined和null没有Stri

移动端基础

一. 布局 横向一列或两列,字体大,图像大 二. 响应式布局: 浏览器根据css样式设定的不同的分辨率,自动地调整页面效果; 它是CSS3的功能,关键字为media query(媒体查询) 三. 常见的四种分辨率 1. 超大屏幕(高清分辨率) 屏幕宽度1200px以上 2. 大屏幕(针对普通电脑屏幕) 屏幕宽度在 1000px 至 1200px 3. 小屏幕(针对平板) 屏幕宽度在 768px 至 1000px 4. 超小屏幕(针对手机) 屏幕宽度小于等于 768px 四. 屏幕宽度 内容宽度

JAVA面试题最全集

JAVA面试题最全集 2009-01-19 15:40 3458人阅读 评论(0) 收藏 举报 java面试ejbservletstringhashmap 一.Java基础知识1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别.2.字符串的操作:  写一个方法,实现字符串的反转,如:输入abc,输出cba  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc.3.数据类型之间的转换  如何将数值型字符转换为数字(Integer,Doubl