Oracle hataları

PLS-00201: identifier must be declared

Tanımlayıcı bildirilmemiş

PLS-00201: identifier 'NAME' must be declared

PL/SQL kullandığınız adı göremiyor. Ad yanlış yazılmıştır, bildirilmemiştir, önek olmadan başka bir şemadadır ya da yetkiniz yoktur. Rol üzerinden gelen yetki, saklı birim içinde sayılmaz.

PLS-00201 ne demek?

PL/SQL her adı derleme sırasında çözer. Ad, sahibin görebildiği hiçbir şeyle eşleşmezse PLS-00201 verir; normalde ORA-06550’nin altında görünür. Worksheet’te çalışan kodun prosedürde patlaması sık görülür: roller oturumunuzda etkindir, ama definer’s rights bir birimin içinde değildir.

PLS-00201 neden olur?

PLS-00201 nasıl çözülür?

  1. Yazımı kontrol edin ve değişkeni bildirin.
  2. Sahibi önek olarak ekleyin: hr.pkg_salary.calc; ya da synonym oluşturun.
  3. Yetkiyi doğrudan kodun sahibine verin: GRANT EXECUTE ON hr.pkg_salary TO app_owner.
  4. Nesnenin var ve görünür olduğunu kontrol edin: ALL_OBJECTS.

PLS-00201 örneği

Bu kullanıcı prosedürü tanımıyor:

BEGIN
  calc_bonus(1);
END;
/
-- ORA-06550: line 2, column 3:
-- PLS-00201: identifier 'CALC_BONUS' must be declared

-- Sahibi önek olarak yazın ve doğrudan yetki verin
GRANT EXECUTE ON hr.calc_bonus TO app_owner;

BEGIN
  hr.calc_bonus(1);
END;
/

SQLlightspeed’de

Bir ifade hata verdiğinde SQLlightspeed’in hata paneli, hata kodunu sade bir Türkçe açıklama ve ne yapmanız gerektiğine dair bir öneriyle; Oracle’ın kendi mesajı ve Oracle dokümantasyonuna bağlantıyla birlikte gösterir — bu hata ve sık görülen onlarca başka hata için.

İlgili hatalar

ORA-06550PLS-00306ORA-01031 Tüm Oracle hataları →

Oracle dokümantasyonu: PLS-00201. Oracle, Oracle Corporation’ın tescilli ticari markasıdır. SQLlightspeed’in Oracle ile bir bağlantısı yoktur.