导航菜单
首页 >  » 正文

Oracle题:创建一个函数,以员工号为参数,返回该员工所在部门的平均工资。 oracle SQL语句怎么修改数据表的字段允许为空?

Oracle题:创建一个函数,以员工号为参数,返回该员工所在部门的平均工资。

以员工号为参数,返回该员工所在部门的平均工资
create or replace function fun_sal(p_empno emp.empno%type)
return emp.sal%type
as v_sal emp.sal%type;
begin
select avg(sal) into v_sal from emp where deptno=
(select deptno from emp where empno=p_empno);
return v_sal;
end
begin
dbms_output.put_line (fun_sal (7844));
end;

扩展资料
例1:创建一个存储过程,以员工号为参数,输出该员工的工资。
create or replace procedure showsal(p_empno emp.empno%type) as v_sal emp.sal%type; begin 
select sal into v_sal from emp where empno=p_empno;  dbms_output.put_line(v_sal); end; begin  showsal(7844); end;
例2:创建一个函数,以部门号为参数,返回该部门的平均工资;
create or replace function fun_avgsal(p_deptno emp.deptno%type) return emp.sal%type as v_sal emp.sal%type; begin
select avg(sal) into v_sal from emp where deptno=p_deptno;  return v_sal; end; begin  dbms_output.put_line (fun_avgsal(10));  end;

oracle SQL语句怎么修改数据表的字段允许为空?

字段允许为空的语句为:alter table  表名 alter column 列名 类型长度 null。
数据库SQL语言的修改语句,可以用来修改基本表,其一般表示格式为:
ALTER TABLE<表名>[改变方式]
改变方式:
1、 加一个栏位: ADD "栏位 1" "栏位 1 资料种类"
2、删去一个栏位: DROP "栏位 1"
3、改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类"
4、改变栏位的资料种类: MODIFY "栏位 1" "新资料种类"

扩展资料
如需在表中添加列,请使用下面的语法:  ALTER TABLE table_name   ADD column_name datatype
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):ALTER TABLE table_name    DROP COLUMN column_name
要改变表中列的数据类型,请使用下面的语法:
SQL Server / MS Access:ALTER TABLE table_name   ALTER COLUMN column_name datatype
My SQL / Oracle:ALTER TABLE table_name   MODIFY COLUMN column_name datatype
Oracle 10G 之后版本:ALTER TABLE table_name  MODIFY column_name datatype;
参考资料链接:百度百科-Alter语句

创建触发器:当删除学生表S中的一条学生记录时,自动删除选修表SC中该学生的成绩记录

MSSQL:
首先你的学号在sc的外键必须是 on delete cascade
alter table sc
add constraint fk_test foreign key (学号) references s(学号) on delete cascade
然后
create trigger test on s
after delete
as
begin
delete from sc where 学号 in (select 学号 from deleted)
end
Oracle:
create or replace trigger test
after delete on s
for each row
begin
delete from sc where 学号=:old.学号;
end;

相关推荐: