oracle student表,编写一个存储过程,输出指定部门的学生的学号、姓名、分数、部门号

create or replace procedure sel_stu(
var_dep in varchar,
num_sno out student.sno%type,
var_sna out student.snamev%type,
var_sco out student.score%type,
var_depid out student.department_id%type) is
begin
select sno,sname,score,department_id
into num_sno,var_sna,var_sco,var_depid
from student
where department = var_dep;
end sel_stu;
/
出现编译 错误,求大神指导

第1个回答  2016-05-13
create or replace procedure sel_stu(var_dep in varchar,
num_sno out student.sno%type,
var_sna out student.sname%type,
var_sco out student.score%type,
var_depid out student.department_id%type) is
begin
select sno, sname, score, department_id
into num_sno, var_sna, var_sco, var_depid
from student
where department = var_dep;
end sel_stu;本回答被提问者采纳
第2个回答  2016-05-13
if (exists (select * from sys.objects where name = 'proc_stu'))
drop proc proc_stu
go
create proc proc_stu(@sname varchar(8) ='张%')
as
select Student.sno,sname,isnull(lname,'') as lname,isnull(grade,0) as grade
from Student left join SC on Student.sno=SC.sno
left join Lesson on SC.lno=Lesson.lno and
where SC.sname=@sname

go

写一个存储过程,学生输入学号和学期,就能查询出这学期的课程,以及成 ...
create or replace procedure pro_name (v_id,v_date)--定义变量 as begin --执行部分 select 课程,成绩 into v_id from emp where 学号=&aa and 学期=&bb;--在控制台显示 dbms_output.put_line('学号是:'||v_id||'学期是:'||v_date);--异常处理 exception when no_data_found then...

建立一个存储过程student_info,要求根据班级查询学生的学号、姓名、课程...
CREATE PROCEDURE [student_info](@class varchar(4))WITH EXECUTE AS CALLERASselect 表2.学号,表2.姓名,表3.课程号,表3.成绩 from 表2,表3 where 表2.学号=表3.学号 and 表2.班级=@classGO 本回答由电脑网络分类达人 董辉推荐 举报| 答案纠错 | 评论 2 0 frogley 采纳率:70% 来自团队:sql委员会...

完成一个存储过程,实现对表STUDENT插入一条记录,并给出执行该存储过程的...
1、打开SQL server management studio,连接到数据库,展开想要创建的数据库,找到【可编程性】->【存储过程】的菜单。2、点击鼠标右键,依次选择【新建】->【存储过程】,就可以开始创建存储过程了。3、在右侧就会出现一个新的窗口,而且默认有好多的代码和注释,这些就是sqlserver默认创建的存储过程的结...

创建一个存储过程,接收学生姓名(默认为'张三')后返回该学生的平均成绩...
Oracle代码如下:create or replace procedure getAvgGrade(iv_StudentName varchar2(100) default '张三', o_AvgGrade out number)is v_count number;begin select count(*) into v_count from grade where studentname=iv_StudentName;if v_count > 0 then select sum(grade)\/count(*) into ...

创建一个存储过程,输入参数deptno,计算deptno部门的所有员工的工资总和...
create Proc proc_Name (@deptno int)as declare @sum int select @sum=sum(工资) from table where 部门=@deptno print @sum

oracle 怎样查询某用户下的所有表的表名
select * from all_tab_comments -- 查询所有用户的表,视图等。select * from user_tab_comments -- 查询本用户的表,视图等。select * from all_col_comments --查询所有用户的表的列名和注释。select * from user_col_comments -- 查询本用户的表的列名和注释。select * from all_tab_...

Oracle存储过程,更新大量数据,如何循环分批次提交?
可用如下存储过程:declare i int;--定义变量v_count int;--定义变量v_loop int;--定义变量begin select count(*) into v_count from test;--计算表内数据总数 select ceil(v_count\/10) into v_loop from dual;--计算需要循环次数 i:=1;--为i赋值 while i<=v_loop loop--循环退出条件 ...

用oracle语言编写一个存储过程实现输入两个字符串C1,C2;判断两字符串的...
str1 := utl_raw.cast_to_raw(c1);str2 := utl_raw.cast_to_raw(c2);str3 := length(c1);str4 := length(c2);select decode(sign(str1 - str2),1,utl_raw.cast_to_varchar2(str1),utl_raw.cast_to_varchar2(str2))into str from dual;dbms_output.put_line('c1的长度:' ...

求oracle sql语句中如何实现这段代码?外键是怎么关联这个部门表的,怎么...
主表外键关联副表前提必须是unique 唯一约束跟 primary key 主键约束 如果是列级定义可以直接用关键字references 子表名(主键字段或唯一约束字段);如果是表级定义那就需要foreign key(主表字段) references 子表名(主键字段或唯一约束字段);

oracle简单编程问题,在线等 急急急!大大悬赏
--编写一个存储过程update_sal,给雇员加工资,过程有两个参数,--参数deptid为要加薪的部门号,参数add_level为加薪倍数。--如果指定的部门不存在员工,该过程不作任何动作,否则按照倍数更新雇员工资。create or replace procedure update_sal(deptid emp.deptno%type,--部门号 add_level number--加薪...

相似回答