plsql儲存及編譯時報錯,選項缺失或無效

2021-09-25 21:27:31 字數 2322 閱讀 4185

用plsql寫儲存過程的時候,遇到的幾個錯誤,寫的簡單點,

1、---------------------

問題:選項缺失或無效

原因:我的sql開頭 create or replace set_salary(ida int, sal int) as

少了  procedure 

正確的應該是:

create or replace procedure set_salary(ida int, sal int) as

這個問題都是少了 procedure 造成的

2、---------------------

報錯問題:實際返回的行數超出請求的行數

-- created on 2019/8/6 by xiaoc 

declare

-- local variables here

i int;

stu_id student.id%type;

begin

-- test statements here

for i in 1 .. 10 loop

dbms_output.put_line('當前i: ' || i);

select student.id into stu_id from student where student.id = i;

if stu_id is null then

insert into student (id) values (i);

commit;

end if;

end loop;

end;

報錯的是這一行:select student.id into stu_id from student where student.id = i;

我的原因:student 表裡面的 id 型別是 varchar,但在這裡條件查詢裡定義的 i 的型別是 int

解決:可以將 i 用 to_char轉一下,具體寫法

select student.id into stu_id from student where student.id = to_char(i, '99');
其中裡面為什麼是 『99』 ,以及各種型別互轉, 可參考 -->該鏈結

3、-------------------

記上乙個問題之後,select 不到資料,會報錯,目前的解決方法,先 count 一下有沒有重複的,如果為0, 就 insert,如果不為0,就跳過

**如下:

-- created on 2019/8/6 by xiaoc 

declare

-- local variables here

i int;

s_count int;

stu_id student.id%type;

stu_name student.name%type;

begin

-- test statements here

for i in 1 .. 10 loop

dbms_output.put_line('當前i: ' || i);

select count(*) into s_count from student where student.id = i;

if s_count = 0 then

insert into student (id) values (i);

commit;

select student.id, student.name

into stu_id, stu_name

from student

where student.id = i;

dbms_output.put_line('當前資料: id-->' || stu_id || '名字:' || stu_name);

else

select student.id, student.name

into stu_id, stu_name

from student

where student.id = i;

dbms_output.put_line('當前資料: id-->' || stu_id || '名字:' || stu_name ||

'已存在, count:' || s_count);

end if;

end loop;

exception

when no_data_found then

dbms_output.put_line('當前i沒資料');

end;

編譯uboot時報錯

編譯u boot時出現 configuring for smdk6400 board ln 正在建立指向 arch arm include asm 的符號鏈結 asm 不支援的操作 make xx config 錯誤 1 然後再執行 make config的時候出現 could not find l...

Yii 關閉debug儲存資料時報錯

今天將 上傳到伺服器之後測試之後發現一切正常,然後關閉debug再次測試時出現報錯如下錯誤 yii base unknownpropertyexception getting unknown property front modules invoice models orderrecord invo...

編譯時 報錯處理(二)id型別

nsinteger i sender.tag property tag not found on object of type strong id 報錯原因 id型別不能使用點語法 解決方式一 利用get 方法獲取 tag值 nsinteger i sender tag 解決方式二 將id 強轉為u...