if substr(x_company,7,2)=10 then
insert into 表b y (b_id,b_values) values ('&x_id','000001');
elseif substr(x_company,7,2)>10 and substr(x_company,7,2)<30 then
insert into 表b y (b_id,b_values) values ('&x_id','000002');
elseif substr(x_company,7,2)=30 then
insert into 表b (b_id,b_values) values ('&x_id','000003');
end if ;end if 后面有个分号
insert into 表b y (b_id,b_values) values ('&x_id','000001');
elseif substr(x_company,7,2)>10 and substr(x_company,7,2)<30 then
insert into 表b y (b_id,b_values) values ('&x_id','000002');
elseif substr(x_company,7,2)=30 then
insert into 表b (b_id,b_values) values ('&x_id','000003');
end if ;end if 后面有个分号
解决方案 »
- IMP-00003: 遇到 ORACLE 错误 1400
- 求oracle存储过程:多表连接且动态取字段(临时表)并汇总数值字段合并输出结果集。--升级版!
- 急!!:oracle 插入数据的问题
- 将sql server2000的表导入到oracle8.0中,除了字段和数据,为什么主键和索引等等都没了
- 建立外键,提示 此列列表的唯一或主关键字不匹配。
- 过滤重复记录问题
- 菜鸟提问:如何在远程在linux操作系统中新建一个数据库(oracle8.1.7)
- DECODE 奇怪的问题,请教!!
- 存储过程如何返回结果集的问题,答对的,100分全给你,在线等待
- 如何写这条语句
- 请教关于CASE语句
- 关于表连接的问题
那么每次我都要改这个过程,有没有更好的方法
--不应该有空各insert into语句 中的变量值是否要加&
--直接写变量名字就可以(&是什么语法阿)
那么每次我都要改这个过程,有没有更好的方法--
可以用游标变量测试
declaretype rc is ref cursor;
v_rc rc;
p_a varchar2(20);
v_rec b_stores%rowtype;
begin
p_a:='1';
open v_rc for select * from b_stores where store_id like '1'|| p_a ||'%';
loop
fetch v_rc into v_rec;
exit when v_rc%notfound;
dbms_output.put_line(v_rec.store_id);
end loop;
end;
--结果
11
110
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
111
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
112
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
113
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
114
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
115
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
116
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
117
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
118
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
119
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
declare
p_a varchar2(20);
begin
p_a:='1';
for v_rc in (select * from b_stores where store_id like '1'|| p_a ||'%')
loopdbms_output.put_line(v_rc.store_id);
end loop;
end;--结果与上相同
??
??
.....values ('x_id','000002');这个样子吗?
还有一个事情,其中有好多if和elseif 是否能换成case ,可以提高性能吗?
values(x_id,'000002')
不过效率我就不知道了
我没有大的大数据量下测试过
lz到可以自己测试一下
'x_id' 就变成了插入 'x_id' 而不是x_id变量的值了