在表内搜索记录类型
我有以下类型
CREATE OR REPLACE TYPE "CLONE_PRODUCT_CHAR_RECORD" IS OBJECT (
CharacteristicID NUMBER,
NewValue VARCHAR2(200 Char),
NewValueName VARCHAR2(200 Char)
);
CREATE OR REPLACE TYPE "CLONE_PRODUCT_CHAR_TABLE" IS
TABLE OF CLONE_PRODUCT_CHAR_RECORD;
和下面的程序
DECLARE
characteristic CLONE_PRODUCT_CHAR_TABLE:=CLONE_PRODUCT_CHAR_TABLE(
CLONE_PRODUCT_CHAR_RECORD(2,'ZIKA','ZIKA'),
CLONE_PRODUCT_CHAR_RECORD(3,'MIGO','MIGO'),
CLONE_PRODUCT_CHAR_RECORD(4,'ZAG','ZAG')
);
char_record CLONE_PRODUCT_CHAR_RECORD;
BEGIN
END;
我需要从 CharacteristicID = 3 的特征记录中选择到 char_record 变量中
and i need to select from characteristic record with CharacteristicID = 3 into the char_record variable
推荐答案
declare
characteristic CLONE_PRODUCT_CHAR_TABLE:=CLONE_PRODUCT_CHAR_TABLE(
CLONE_PRODUCT_CHAR_RECORD(2,'ZIKA','ZIKA'),
CLONE_PRODUCT_CHAR_RECORD(3,'MIGO','MIGO'),
CLONE_PRODUCT_CHAR_RECORD(4,'ZAG','ZAG')
);
char_record CLONE_PRODUCT_CHAR_RECORD;
BEGIN
for i in 1 .. characteristic.count loop
if characteristic(i).characteristicID = 3 then
char_record := characteristic(i);
exit;
end if;
end loop;
dbms_output.put_line(char_record.newValue);
dbms_output.put_line(char_record.newValueName);
END;
/
或者,您可能想尝试
declare
characteristic CLONE_PRODUCT_CHAR_TABLE:=CLONE_PRODUCT_CHAR_TABLE(
CLONE_PRODUCT_CHAR_RECORD(2,'ZIKA','ZIKA'),
CLONE_PRODUCT_CHAR_RECORD(3,'MIGO','MIGO'),
CLONE_PRODUCT_CHAR_RECORD(4,'ZAG','ZAG')
);
char_record CLONE_PRODUCT_CHAR_RECORD;
BEGIN
select CLONE_PRODUCT_CHAR_RECORD(characteristicID, newvalue, newvaluename)
into char_record from
table(characteristic)
where
characteristicID = 3;
dbms_output.put_line(char_record.newValue);
dbms_output.put_line(char_record.newValueName);
END;
/
相关文章