sql >> データベース >  >> RDS >> Oracle

テーブルタイプのレコード内を検索

    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;
    /
    



    1. Lion(Mac OS 10.7)でPostgreSQLサーバーがシャットダウンしない

    2. ORA-00937:単一グループのグループ関数ではありません-クエリ・エラー

    3. MySQLはgroupbyと空の値で合計を選択します

    4. MSSQLのトランザクション分離レベルに応じた読み取り/書き込みロックのヒント