编写一个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教师表存储过程相关推荐
- SQL 交叉表存储过程
SQL存储过程,主要产生交叉表,语句如下: ALTER PROCEDURE accident_report @areaCode varchar(20), --地区编码 @to ...
- 关于SQL数据表存储过程表名前缀换成dbo代码
1.全部表名换成dbo <span style="font-size:18px;">EXEC sp_MSforeachtable 'exec sp_changeobje ...
- 将表数据生成SQL脚本的存储过程和工具
将表数据生成SQL脚本的存储过程示例: CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar ...
- sql面试题(学生表_课程表_成绩表_教师表)
原帖链接:http://bbs.csdn.net/topics/280002741 表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课 ...
- MySQL8.0 小白入门 46条sql语句练习(学生表 教师表 课程表 分数表)
4 Tab for MySQL8.0 1.表说明 2.创建表 3.插入数据 4.查询语句(46条) 1.表说明 – 数据库版本:mysql8 – 数据表说明:student(学生表).teacher( ...
- 常见的SQL面试题(学生表_课程表_成绩表_教师表)
表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师 ...
- SQL经典案例(学生表,课程表,选课表,教师表) 练习
一·创建表 课程表 DROP TABLE IF EXISTS `course`; CREATE TABLE `course` (`CNO` int(10) NOT NULL COMMENT '课程号' ...
- 学生表/教师表/课程表/成绩表常见SQL查询
1. 在表中插入符合主键 [sql] /*成绩表*/ CREATE TABLE SC ( Sid INT REFERENCES Student(Sid), /*学生学号*/ Cid IN ...
- SQL Sever数据库存储过程
一.背景介绍 1.遇到存储过程 回顾之前知识,使用在当下(毕业设计) 2.了解周边知识 二.思路&方案 1.了解存储过程定义.语法.种类 2.存储过程有什么优缺点 3.存储过程与触发器和函数的 ...
最新文章
- 转:[大数据竞赛]夺冠感言:走进业务,提升对世界的认知能力
- pyqt5教程12:拖放功能
- Visual Studio 2008 快捷键大全
- The 'microsoft.jet.oledb.4.0' provider is not registered on the local machin
- 没有暑假的Ada 要好好努力咯 C#继续
- js字符串、数组和数字常用方法总结
- 2月份Github上很热门的Python项目
- python 获取点击按钮名称_python如何获取tkinter组件的名称?比如按下多个Button中的一个,返回这个被按下的Button的text?...
- 邮件策略在域树中的实战应用:Exchange2003系列之十
- typora高级设置字体_设计黑金风格高级感logo
- python--贝壳租房爬虫及数据可视化
- PayPal社交游戏及移动娱乐产业的海外商机
- stc15f2k60s2.h
- blazeds与spring的结合使用
- 小鸟云虚拟主机Wordpress上传中文附件出现乱码
- cncrypt安卓版_CnCrypt Protect
- DDR3和DDR2和DDR的工作原理及技术区别
- 输油管道或水井挖水渠中路径和最短问题
- xmlspy 定义类型
- 桂林电子科技大学计算机学院二院,桂林电子科技大学计算机与信息安全学院来我院调研交流...
热门文章
- 求整数的位数及各位数字之和
- onlyoffice-api
- 科学研究设计四:测量
- 世界上最美的诗----孩子,别怕
- ios系统怎么录屏?这个方法可以尝试下
- All Palindrome
- pd 生成mysql 脚本_powerdesigner 生成数据库脚本
- 为什么你的工作总是没能做好呢?
- APP运营需要注重的细节
- BSV斯洛文尼亚商业区块链活动精彩回顾