深度优先

这个家伙好懒,除了文章什么都没留下

0%

刚把别人写的项目拷过来准备学习借鉴下的,但是浏览时报错:

HTTP Error 500.24 - Internal Server Error

检测到在集成的托管管道模式下不适用的 ASP.NET 设置。

网上找了很多资料,都是讲,可对于我的问题根本解决不了。

然后急着要用这个项目,在搜索页面的后面几页才找到正确的解决方案。

网上找了很多资料,一般都是说把资源池的托管管道模式改成经典模式,但是我这里还是不行

然后看到在配置文件中加上下面的节点就行了,解决问题!希望能帮大家早点解决问题

<system.webServer>

</system.webServer>

转自:http://www.mamicode.com/info-detail-387357.html

第八章 触发器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
--回顾
--子程序(存储过程)
--存储过程的语法
create procedure proc_test
as
--[定义局部变量]
begin
select * from student
end;

--根据编号查询姓名的存储过程
create procedure proc_namebyid(myid number)
as
myname varchar(20);
begin
select s_name into myname from student where s_id = myid;
dbms_output.put_line('编号为:'||myid||'的歌手名:'||myname);
end;

--调用存储过程
begin
proc_namebyid(&请输入歌手编号);
end;

--函数(必须要有返回值)
--语法
create function fun_test
return varchar
as
begin

end;

--带参数的函数
create function fun_sum(num1 number,num2 number)
return number
as
mysum number := 0;
begin
for i in num1..num2
loop
mysum := mysum + i;
end loop;
return mysum;
end;


select fun_sum(1,100) from dual

触发器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
--1、什么是触发器

--2、触发器的分类
--数据库触发器 和 DML触发器(insert update delete)

--3、触发器的语法
create trigger tri_test
after
on 表名

old
new

select * from student;
select * from exam

create trigger tri_addstu
before insert on student
for each row
begin
if :new.s_id >= 5 then
raise_application_error(-20001,'超过一班的人数');
end if;
end;

insert into student values(s_id.nextval,'狮子合唱团','男',6)


--insert 触发器
create trigger tri_addstu2
after insert on student
for each row
begin
insert into exam values(e_id.nextval,:new.s_id,'笔试',0);
insert into exam values(e_id.nextval,:new.s_id,'机试',0);
end;

--update触发器
create trigger tri_update
after update on exam
for each row
begin
update student set s_id=:new.s_id where s_id = :old.s_id;
end;

update exam set s_id = 666 where s_id = 12;


--delete触发器
create trigger tri_del
after delete on student
for each row
begin
delete from exam where s_id = :old.s_id;
end;


delete from student where s_name = '狮子合唱团'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
select * from scott.emp

--1、什么是存储过程?
--预编译好的程序,简化应用程序的调用

--2、语法 (特殊的PL/SQL)
create procedure proc_test
as
begin
--sql语句
--exception
end;

--例1
--无参的存储过程
create procedure proc_sel4
as
myname varchar(10);
deptname varchar(10);
begin
--联表查询
select ename,dname into myname,deptname from scott.emp,scott.dept
where scott.emp.deptno = scott.dept.deptno and empno = 7369;
dbms_output.put_line(myname||deptname);
end;

--调用存储过程
begin
proc_sel4;
end;


select * from scott.emp;
select * from scott.dept;


--带参数的存储过程
create procedure proc_test(参数1,参数2....)
as
begin
--sql语句
end;

---加工资,manage岗位工资加?(参数1员工编号,参数2工资加多少)

create procedure proc_addsal1(myempno number,mysal number)
as
myjob varchar(10);
begin
select job into myjob from scott.emp where empno = myempno;
if myjob = 'MANAGER' then
update scott.emp set sal = sal+mysal where empno = myempno;
dbms_output.put_line('恭喜!你加了'||mysal||'工资');
else
dbms_output.put_line('sorry!没有加工资,赶紧往上爬!');
end if;
end;

--调用存储过程
begin
proc_addsal1(7698,1000);
end;

select * from scott.emp


create procedure proc_addsal3(myempno number,mysal number,jobtest varchar)
as
myjob varchar(10);
begin
select job into jobtest from scott.emp where empno = myempno;
if myjob = 'MANAGER' then
update scott.emp set sal = sal+mysal where empno = myempno;
dbms_output.put_line('恭喜!你加了'||mysal||'工资');
else
dbms_output.put_line('sorry!没有加工资,赶紧往上爬!');
end if;
end;

——————–我是分割线————————

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--函数 = 方法
--预编译好的可以带返回值的操作

--语法
--无参的函数
create function fun_test1
return number
as
mysum number := 0;
begin
for i in 1..100
loop
mysum := mysum +i;
end loop;
return mysum;
end;

select fun_test1() from dual

--有参数的函数
create function fun_add(a number,b number)
return number
as
begin
return a+b;
end;

select * from scott.emp
--查询7499的用户的所有收入(sal+comm)
select empno,ename,(sal+comm) as 总收入 from scott.emp
select empno,ename,fun_add(sal,1000) as 总收入 from scott.emp