0
create or replace
PROCEDURE PR_CHECKBARCODEFORMAT
(
SUBJECT_ID IN VARCHAR2
)
IS
BadBarcodeFormat NUMBER(6);
PassOrFail VARCHAR2(50);
BEGIN
SELECT COUNT(*)
INTO BadBarcodeFormat
FROM RWILSON.TableA a
JOIN RWILSON.TableB s
ON a.SAMPLE_ID = s.SAMPLE_ID
WHERE s.SUBJECT_ID = Subject_ID
AND NOT REGEXP_LIKE(Barcode, '[0-9][A-Z][0-9][0-9][0-9][0-9][0-9][0-9]');
IF BadBarcodeFormat = 0 THEN PassOrFail := 'ALL PASS';
ELSE PassOrFail := 'ALL FAIL';
END IF;
DBMS_OUTPUT.put_line(PassOrFail);
END PR_CHECKBARCODEFORMAT;
sys.TableAとsys.TableBを使用するとコードが正常に動作していました。私はそれらがRwilsonのために存在することを確認しました...だから私は問題が何であるか分かりません...どんな考えですか?Oracle 11gのエラー:エラー(24,12):PLS-00103:シンボル "。"が検出されました。次のいずれかを予期しているとき。
そして私はsysに戻してみました。私は今、sysに何も作成してはならないことを認識しています。私が最初に表と手順を作成したのはわかりませんでした。彼らはその後交換されましたが、私はまだ問題を抱えています...
助けてください。
質問に使用しているカラム名と同じ名前でプロシージャのパラメータを呼び出す必要がある場合は、makeプロシージャー名でパラメーターを別名にしてください。例えば。 'WHERE s.SUBJECT_ID = PR_CHECKBARCODEFORMAT.Subject_ID'でなければ、Oracleを混乱させるでしょうし、自分自身と比較していると仮定します(これは、カラムがnullの場合を除いて' 1 = 1'と同様です)。または、パラメータの列名が異なることを確認して、最初に問題を回避することができます – Boneist
Thanks for the Aside。私はそれを修正しました。しかし、なぜ私はそのエラーを取得しているの任意の提案がありますか? – MacWilson08
申し訳ありませんが、私はしません。あなたはそれが通常のフルストップ(別名期間)で、他のファンキーなキャラクターではないと確信していますか?また、スキーマ「RWILSON」も存在しますか? – Boneist