1 create or replace procedure pr_test1 is2begin34
if2 > 1
then56
7 dbms_output.put_line('
條件成立');
89 elsif 4 > 3
then
1011
if7 > 6
then
1213 dbms_output.put_line('
條件不成立1');
1415 end if;16
17 elsif 6 > 5
then
1819 dbms_output.put_line('
條件成立2');
2021
else
22 dbms_output.put_line('
條件不成立3');
2324 end if;25
2627
2829
3031
end pr_test1;
3233
3435 create or replace procedure pr_text2 is
3637 v_case number(3) := 100;38
39begin
4041
case
v_case
4243 when 1
then
4445 dbms_output.put_line('
條件匹配=1');
4647 when 100
then
4849 dbms_output.put_line('
條件成匹配=100');
5051
else
5253 dbms_output.put_line('
條件不匹配');
5455 end case;56
57case
5859 when 8 > 7
then
6061 dbms_output.put_line('
8>7成立');
6263 when 9 > 8
then
6465 dbms_output.put_line('
9>8成立');
6667
else
6869 dbms_output.put_line('
都不成立');
7071 end case;72
73 --loop迴圈
7475
<>
76loop
7778 v_case:=v_case-1;79
80 dbms_output.put_line('
v_case=
'||v_case);
8182 --if(v_case = 90
) then
8384 --dbms_output.put_line('
退出迴圈');
8586 exit loop1 when v_case =90;87
88 --end if;89
90end loop;
9192
93while v_case >80
9495
loop
9697 v_case:=v_case-1;98
99 dbms_output.put_line('
v_case=
'||v_case);
100101 --exit when v_case =90
;102
103end loop;
104105
106 dbms_output.put_line('
v_case=
'||'
--------');
107for inx in reverse 1..10 loop --1..10
(逐漸加1) reverse(從大向小加)
108109
110 v_case:=v_case+inx;
111112 dbms_output.put_line('
v_case=
'||v_case);
113114
115116
end loop;
117118
119120
end pr_text2;
121122
123124 create or replace procedure pr_test2(v_nl in varchar2 default'22
' ) is
125begin
126127 update t_hq_ryxx set ruzrq = sysdate where nianl =v_nl;
128129
commit;
130131
end pr_test2;
132133
134 create or replace procedure pr_test3(v_nl in varchar2,v_xx in
out varchar2) is
135begin
136137
select xingm into v_xx from t_hq_ryxx where nianl = v_nl and bum =v_xx;
138139
if sql%found then
140141
142 dbms_output.put_line('
查詢到資料了');
143144
145else
146147 dbms_output.put_line('
未找到資料');
148149 end if
;150
151152
153 exception --異常
154155
156157
158when no_data_found then
159160 --dbms_output.put_line('
未查找到資料');
161 dbms_output.put_line('
sqlcode=
'||sqlcode);
162 dbms_output.put_line('
sqlerrm=
'||sqlerrm);
163164
when others then
165 dbms_output.put_line('
查詢出錯');
166 dbms_output.put_line('
sqlcode=
'||sqlcode);
167 dbms_output.put_line('
sqlerrm=
'||sqlerrm);
168169
170end pr_test3;
171172
173174 create or replace procedure pr_test4(v_nl in varchar2) is
175176 v_xm t_hq_ryxx.xingm%type;
177178
begin
179180 v_xm := '
102'
;181
pr_test3(v_nl,v_xm);
182183 dbms_output.put_line('
v_xm=
'||v_xm);
184185
186187
end pr_test4;
188189
190191 create or replace procedure pr_test5 is
192begin
193194 update t_hq_ryxx set bum= '
101'
where bum is
null
;195
196commit;
197198
if sql%rowcount >0
then
199200 dbms_output.put_line('
更新了'|| sql%rowcount || '記錄'
);201
202else
203204 dbms_output.put_line('
更新了0條記錄');
205206
207 end if
;208
209 end pr_test5;
SQL中迴圈和條件語句
1 if語句使用示例 declare a int set a 12 if a 100 begin print a end else begin print no end2 while語句使用示例 declare i int set i 1 while i 30 begin insert into t...
條件語句 迴圈語句
1 switch case switch中的比較是用的equals,而不是 switch中只能使用byte short int char string 列舉型別。不能使用long flaot double 各個case標籤不必連續 也不按特定順序排列,default標籤可位於switch case結...
sql條件語句
transact sql 語言使用的流程控制命令與常見的程式語言類似主要有以下幾種控制命令。4.6.1 if else 其語法如下 if 條件表示式 命令列或程式塊 else 條件表示式 命令列或程式塊 其中 條件表示式 可以是各種表示式的組合,但表示式的值必須是邏輯值 真 或 假 else子句是可...