SQL條件迴圈語句以及異常知識整理

2022-07-26 13:48:12 字數 4428 閱讀 4745

1 create or replace procedure pr_test1 is

2begin34

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子句是可...