小さなpl/sqlスクリプトを作成しようとしていますが、助けが必要です。まず、project1、project2という2つのテーブルがあります。両方のテーブルには、cust_codeという列があります。
cust_codeの値はvarchar2タイプです。値は常に1(数値1、小数点)および8桁で始まります。例:1.10002332
プロジェクト1テーブルにデータをインポートするときに、最後の桁が0の場合、たとえば1.22321630の場合、最後のゼロは削除され、小数点を超えて7桁しかありません。その場合は1.2232163になります
書きたいスクリプトは、小数点以下7桁かどうかをチェックし、そのレコードをproject2テーブルに挿入します。これは私が思いついたものです
DECLARE
CURSOR dif IS
SELECT CUST_CODE, CUST_ID, CONTRACT_NUM, MSISDN
FROM project1
WHERE CUST_CODE IN (SELECT CUST_CODE FROM CUST_ALL);
BEGIN
FOR a in dif LOOP
IF SUBSTR(a.CUST_CODE, 10)=null
THEN
INSERT INTO project2 (cust_code)
VALUES(a.CUST_CODE);
END IF;
END LOOP;
commit;
END;
スクリプトはエラーなしで実行されますが、何も起こりません。substr関数で、NULL以外の値を選択すると、機能します。8桁目が抜けているかどうかを確認する方法がわかりません。
アサフ。