随笔- 40  文章- 0  评论- 1  阅读- 27431 
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*
方式1:可执行选取代码块允许
*/
declare cursor cur_tmp is
(
 
  select
   '' as tmp_status
  from dual
   
);
begin
  for tmp_row in cur_tmp loop
    if tmp_row.tmp_status='0' then
      begin
       dbms_output.put_line('1111');
      end;
    elsif tmp_row.tmp_status!='0' then
      begin
       dbms_output.put_line('2222');
      end;
    else
      begin
       dbms_output.put_line('3333');
      end;
    end if;
  end loop;
   
  commit
   
end;
 
 
/*
方式2:可执行选取代码块允许
*/
declare
  v_id1 varchar2(40);
  v_id2 varchar2(40):='aaaaaaa';
  v_id3 varchar2(40);
cursor cur_tmp is
(
 
  select
   '555' as tmp_status
  from dual
   
);
begin
  for tmp_row in cur_tmp loop
     
    v_id1 := tmp_row.tmp_status;
    dbms_output.put_line(v_id1);
    dbms_output.put_line(v_id2);
     
    if tmp_row.tmp_status='0' then
      begin
       dbms_output.put_line('1111');
      end;
    elsif tmp_row.tmp_status!='0' then
      begin
       dbms_output.put_line('2222');
      end;
    else
      begin
       dbms_output.put_line('3333');
      end;
    end if;
  end loop;
   
 commit
   
end;
 
 
 
/*
方式3:存储过程模式--无入参
*/
create or replace procedure 用户名.pro_cus_temp01
as
 
  v_id1 varchar2(40);
  v_id2 varchar2(40);
  v_id3 varchar2(40);
 
begin
   
  declare cursor cur_tmp is
  (
 
    select
     '555' as tmp_status
    from dual
     
  );
  begin
    for tmp_row in cur_tmp loop
       
      v_id1 := tmp_row.tmp_status;
      dbms_output.put_line(v_id1);
      dbms_output.put_line(v_id2);
       
      if tmp_row.tmp_status='0' then
        begin
         dbms_output.put_line('1111');
        end;
      elsif tmp_row.tmp_status!='0' then
        begin
         dbms_output.put_line('2222');
        end;
      else
        begin
         dbms_output.put_line('3333');
        end;
      end if;
    end loop;
     
  end;
   
  commit;
 
end;
---调用存储过程--无入参
call 用户名.pro_cus_temp01() ;
 
 
/*
方式4:存储过程模式--有入参
*/
create or replace procedure 用户名.pro_cus_temp02
(
  in_id1 in varchar2,
  in_no in decimal
)
is
   
  v_id1 varchar2(40);
  v_id2 varchar2(40);
  v_id3 varchar2(40);
 
begin
 
  declare cursor cur_tmp is
  (
 
    select
     '555' as tmp_status
    from dual
 
  );
  begin
    for tmp_row in cur_tmp loop
 
      v_id1 := in_id1;
      dbms_output.put_line(v_id1);
 
      if tmp_row.tmp_status='0' then
        begin
         dbms_output.put_line('1111');
        end;
      elsif tmp_row.tmp_status!='0' then
        begin
         dbms_output.put_line('2222');
        end;
      else
        begin
         dbms_output.put_line('3333');
        end;
      end if;
    end loop;
 
  end;
 
  commit;
 
end;
---调用存储过程--有入参
call 用户名.pro_cus_temp02('kkkkk',0) ;

  

 posted on   dianli  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示