我相信我需要一个用于循环的游标来遍历表 test_data 中的 street1 列。我有一个程序需要测试表中的每一行。
这是我到目前为止所拥有的:
cursor c1 is
street1
from test_data
Begin
If Instr(street1, ‘Cnr’, 1) >= 1;
Then
Newstreetname := Substr(street1, Instr(street1, ‘Cnr’, 1)+3);
Else if
Instr(street1, ‘PO Box’, 1) >= 1;
Then
Newstreetname:= Substr(street1, Instr(street1, ‘PO Box’, 1));
Else if
REGEXP_ Instr (street1, [\d], 1) = 0;
Then
Newstreetname:= street1;
Else if
REGEXP_ Instr (street1, [\d], 1) >= 1;
Then
Newstreetnumber:= regexp_substr(street1, '\d+(\s|\/)(\d+)?-?(\d+)?(\w {1})?');
Newstreetname:= regexp_substr(street1, '(\w+\s\w+)$');
End