编写一个PL/SQL块 ,输出字符串This a minimum anonymous block
set severoutput on
begin
DBMS_OUTPUT.PUT_LINE(This a minimum anonymous block);
END;
/
编写一个PL/SQL块,输出学号为10318的学生 姓名
DECLARE
v_sname VARCHAR2(10);
BEGIN
Select name into v_sname
from Students where student_id = 10318;
  DBMS_OUTPUT.PUT_LINE('学生姓名:'||v_sname);
END;
/
DECLARE
v_ename VARCHAR2(10);
BEGIN
Select ename into v_ename
from emp_er1 where empno = 3;
  DBMS_OUTPUT.PUT_LINE('学名:'||v_ename);
END;
/
DECLARE
       v_job VARCHAR2(10);
  BEGIN
       Select job into v_job
           from emp_er1 where empno = 5;
  DBMS_OUTPUT.PUT_LINE('工作:'||v_job);
END;
/
在departments表中查询部门编号为101的记录,并把系部名称和系部所在地显示出来,使用标量变量
DECLARE
v_id departments.department_id%type;
v_name departments.department_name%type;
v_address departments.address%type;
BEGIN
select * into v_id,v_name,v_address  from departments where department_id=101;
  DBMS_OUTPUT.PUT_LINE('系部名称:'||v_name);
  DBMS_OUTPUT.PUT_LINE(系部地址:'||v_address);
end;
/
empno ename job salary bonus hirdate mgr
declare
   v_empno  emp_er1.empno%TYPE:=14;
   v_ename emp_er1.ename%TYPE:='sansan';
   v_job emp_er1.job%TYPE:='computer';
   v_salary emp_er1.salary%TYPE:=3556;
   v_bonus emp_er1.bonus%TYPE:=277;
   v_hiredate emp_er1.hirdate%TYPE:='22-4月-2015';
   v_mgr emp_er1.mgr%TYPE:=24;
begin
   insert into emp_er1
        values(v_empno,v_ename,v_job,v_salary,v_bonus,v_hiredate,v_mgr);
end;
/
DBMS_OUTPUT.PUT_LINE(v_empno,v_ename,v_job,v_salary,v_bonus,v_hiredate,v_mgr);
declare
   v_empno  emp_er1.empno%TYPE:=15;
   v_ename emp_er1.ename%TYPE:='sn';
   v_job emp_er1.job%TYPE:='compu';
   v_salary emp_er1.salary%TYPE:=3776;
   v_bonus emp_er1.bonus%TYPE:=267;
   v_hiredate emp_er1.hirdate%TYPE:='22-5月-2015';
   v_mgr emp_er1.mgr%TYPE:=25;
begin
   insert into emp_er1
        values(v_empno,v_ename,v_job,v_salary,v_bonus,v_hiredate,v_mgr);
end;

在students表中查询学号为10的记录,并显示该生的姓名、性别、出生日期。使用记录变量 date of birth
declare
  v_student students%rowtype;
begin
  select * into v_student
   from students where student_id = 10;
  DBMS_OUTPUT.PUT_LINE('姓名 性别 出生日期');
  DBMS_OUTPUT.PUT_LINE('工作:'||v_job);
END;
/
declare
  v_emp_er1 emp_er1%rowtype;
begin
  select * into v_emp
   from emp_er1 where empno= 8;
  DBMS_OUTPUT.PUT_LINE('姓名 工作 出生日期');
  DBMS_OUTPUT.PUT_LINE(v_emp_er1.ename||v_emp_er1.job||v_emp_er1.hirdate);
END;
/
在students表中插入一条记录,使用变量为插入的记录提供数据
declare
v_id students.student_id%TYPE :=101;
v_monitorid students.monitor_id%TYPE :=NULL;
v_name students.name%TYPE:='LILING';
v_sex students.sex%TYPE:='female';
v_dob students.dob%TYPE:='07-3月-2015';
v_specialty students.specialty%TYPE:='computer';
begin
insert into students
values(v_id,v_monitorid,v_name,v_sex,v_dob,v_specialty);
end;
/
修改students表中的记录,使用常量为对应列提供修改后的值
begin
update students
set student_id =10288.
dob='',
specialty = 'auto'
where student_id = 101;
end;
/
select * from student;
在teachers表中,将教授职称的某位教师的工资提高10%,若教师的职称不是教授,则工资提高100元
declare
v_id teachers.teacher_id %TYPE;
v_title teachers.title%TYPE;
begin
v_id := &teacher_id;
select title into v_title
from teachers where teacher_id = v_id;
if v_title = '' then 
update teachers
set wage=1.1*wage where teacher_id=v_id;
else
update teachers
set wage=wage+100 where teacher_id = v_id;
end if;
end;
/
出现异常错误
使用SQLCODE和SQLERRM异常函数。运行该程序时,适当选择赋给变量v_deptid的值(部门编号)可能产生不同的错误。用户可以通过异常函数SQLCODE和SQLERRM获得错误代码与错误描述
set serveroutput on
declare
e_wage exception;
v_wage teachers.wage%TYPE;
v_deptid teachers.department_id%TYPE;
v_bonus teachers.bonus%TYPE;
begin
v_wage := &wage;
v_deptid  teachers.department_id%TYPE;
v_bonus teachers.bonus%TYPE;
begin
v_wage := &wage;
v_deptid := &department_id;
insert into teachers
values();
select bonus into v_bonus from teachers where department_id = v_deptid;
if v_wage<0 then
raise e_wage;
end if;
exception 
when e_wage then
  DBMS_OUTPUT.PUT_LINE();
 when others then

DBMS_OUTPUT.PUT_LINE(||SQLCODE);

  DBMS_OUTPUT.PUT_LINE(||SQLCODE);

END;
/

sql教师表存储过程相关推荐

  1. SQL 交叉表存储过程

    SQL存储过程,主要产生交叉表,语句如下: ALTER        PROCEDURE accident_report    @areaCode varchar(20), --地区编码    @to ...

  2. 关于SQL数据表存储过程表名前缀换成dbo代码

    1.全部表名换成dbo <span style="font-size:18px;">EXEC sp_MSforeachtable 'exec sp_changeobje ...

  3. 将表数据生成SQL脚本的存储过程和工具

    将表数据生成SQL脚本的存储过程示例: CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar ...

  4. sql面试题(学生表_课程表_成绩表_教师表)

    原帖链接:http://bbs.csdn.net/topics/280002741 表架构 Student(S#,Sname,Sage,Ssex) 学生表  Course(C#,Cname,T#) 课 ...

  5. MySQL8.0 小白入门 46条sql语句练习(学生表 教师表 课程表 分数表)

    4 Tab for MySQL8.0 1.表说明 2.创建表 3.插入数据 4.查询语句(46条) 1.表说明 – 数据库版本:mysql8 – 数据表说明:student(学生表).teacher( ...

  6. 常见的SQL面试题(学生表_课程表_成绩表_教师表)

    表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师 ...

  7. SQL经典案例(学生表,课程表,选课表,教师表) 练习

    一·创建表 课程表 DROP TABLE IF EXISTS `course`; CREATE TABLE `course` (`CNO` int(10) NOT NULL COMMENT '课程号' ...

  8. 学生表/教师表/课程表/成绩表常见SQL查询

    1. 在表中插入符合主键 [sql]  /*成绩表*/  CREATE TABLE SC   (   Sid INT REFERENCES Student(Sid), /*学生学号*/  Cid IN ...

  9. SQL Sever数据库存储过程

    一.背景介绍 1.遇到存储过程 回顾之前知识,使用在当下(毕业设计) 2.了解周边知识 二.思路&方案 1.了解存储过程定义.语法.种类 2.存储过程有什么优缺点 3.存储过程与触发器和函数的 ...

最新文章

  1. 转:[大数据竞赛]夺冠感言:走进业务,提升对世界的认知能力
  2. pyqt5教程12:拖放功能
  3. Visual Studio 2008 快捷键大全
  4. The 'microsoft.jet.oledb.4.0' provider is not registered on the local machin
  5. 没有暑假的Ada 要好好努力咯 C#继续
  6. js字符串、数组和数字常用方法总结
  7. 2月份Github上很热门的Python项目
  8. python 获取点击按钮名称_python如何获取tkinter组件的名称?比如按下多个Button中的一个,返回这个被按下的Button的text?...
  9. 邮件策略在域树中的实战应用:Exchange2003系列之十
  10. typora高级设置字体_设计黑金风格高级感logo
  11. python--贝壳租房爬虫及数据可视化
  12. PayPal社交游戏及移动娱乐产业的海外商机
  13. stc15f2k60s2.h
  14. blazeds与spring的结合使用
  15. 小鸟云虚拟主机Wordpress上传中文附件出现乱码
  16. cncrypt安卓版_CnCrypt Protect
  17. DDR3和DDR2和DDR的工作原理及技术区别
  18. 输油管道或水井挖水渠中路径和最短问题
  19. xmlspy 定义类型
  20. 桂林电子科技大学计算机学院二院,桂林电子科技大学计算机与信息安全学院来我院调研交流...

热门文章

  1. 求整数的位数及各位数字之和
  2. onlyoffice-api
  3. 科学研究设计四:测量
  4. 世界上最美的诗----孩子,别怕
  5. ios系统怎么录屏?这个方法可以尝试下
  6. All Palindrome
  7. pd 生成mysql 脚本_powerdesigner 生成数据库脚本
  8. 为什么你的工作总是没能做好呢?
  9. APP运营需要注重的细节
  10. BSV斯洛文尼亚商业区块链活动精彩回顾