de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
Moh-ksa Madinah
Moh-ksa Madinah
Question

PLS-00103: Menemukan simbol ";" saat mengharapkan salah satu dari yang berikut ini:

apa yang salah dalam kode saya

    SQL> declare
  2  mark number :=50;
  3  begin
  4  mark :=& mark;
  5  if (mark between 85 and 100)
  6  then
  7  dbms_output.put_line('mark is A ');
  8  else if (mark between 50 and 65) then
  9  dbms_output.put_line('mark is D ');
 10  else if (mark between 66 and 75) then
 11  dbms_output.put_line('mark is C ');
 12  else if (mark between 76 and 84) then
 13  dbms_output.put_line('mark is B');
 14  else 
 15  dbms_output.put_line('mark is F');
 16  end if;
 17  end;
 18  /
Enter value for mark: 65
old   4: mark :=& mark;
new   4: mark :=65;
end;
   *

ERROR pada baris 17: ORA-06550: baris 17, kolom 4: PLS-00103: Menemukan simbol ";" ketika mengharapkan salah satu dari berikut ini: jika

6 2013-11-18T21:50:28+00:00 2
 user272735
user272735
Pertanyaan edit 19 November 2013 в 6:11
Pemrograman
oracle
syntax-error
plsql
 Richard
Richard
18 November 2013 в 9:59
2013-11-18T21:59:29+00:00
Lebih
Sumber
Sunting
#22851082

Masalahnya adalah else dan if adalah dua operator di sini. Karena Anda membuka 'if' baru, Anda memerlukan 'end if' yang sesuai.

Jadi:

declare
mark number :=50;
begin
  mark :=& mark;
  if (mark between 85 and 100) then
    dbms_output.put_line('mark is A ');
  else 
    if (mark between 50 and 65) then
      dbms_output.put_line('mark is D ');
    else 
      if (mark between 66 and 75) then
        dbms_output.put_line('mark is C ');
      else 
        if (mark between 76 and 84) then
          dbms_output.put_line('mark is B');
        else 
          dbms_output.put_line('mark is F');
        end if;
      end if;
    end if;
  end if;
end;
/

Atau anda bisa menggunakan elsif:

declare
mark number :=50;
begin
  mark :=& mark;
  if (mark between 85 and 100)
    then
    dbms_output.put_line('mark is A ');
  elsif (mark between 50 and 65) then
    dbms_output.put_line('mark is D ');
  elsif (mark between 66 and 75) then
    dbms_output.put_line('mark is C ');
  elsif (mark between 76 and 84) then
    dbms_output.put_line('mark is B');
  else 
    dbms_output.put_line('mark is F');
  end if;
end;
/
14
0
Dulith  De Costa
Dulith De Costa
17 Agustus 2017 в 4:56
2017-08-17T04:56:18+00:00
Lebih
Sumber
Sunting
#22851083

Pernyataan IF memiliki bentuk-bentuk ini dalam PL/SQL:

IF THEN

IF THEN ELSE

IF THEN ELSIF

Anda telah menggunakan elseif yang dari segi PL/SQL adalah salah. Itu harus diganti dengan ELSIF.

DECLARE
  mark NUMBER :=50;
BEGIN
  mark :=& mark;
  IF (mark BETWEEN 85 AND 100) THEN
    dbms_output.put_line('mark is A ');
  elsif (mark BETWEEN 50 AND 65) THEN
    dbms_output.put_line('mark is D ');
  elsif (mark BETWEEN 66 AND 75) THEN
    dbms_output.put_line('mark is C ');
  elsif (mark BETWEEN 76 AND 84) THEN
    dbms_output.put_line('mark is B');
  ELSE
    dbms_output.put_line('mark is F');
  END IF;
END;
/
3
0
Related communities 3
Oracle Indonesia
Oracle Indonesia
769 pengguna
Group belajar, diskusi, dan berbagi tentang berbagai produk dan teknologi Oracle. Disclaimer: This group is not in any affilation nor maintained by the Oracle.
Buka telegram
OrcV2 🇲🇨Indonesia🇮🇩
OrcV2 🇲🇨Indonesia🇮🇩
164 pengguna
Website : https://orcv2token.tech/ Tg Global : https//t.me/orcv2
Buka telegram
Oracle_id
Oracle_id
61 pengguna
Oracle_id adalah komunitas Penikmat Oracle seluruh Indonesia, fokus membahas product2 Oracle
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 1 hari yang lalu
2
Akshit Mehta
Terdaftar 4 hari yang lalu
3
me you
Terdaftar 1 minggu yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
JA
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi