Oracle 報錯ORA-00904:標(biāo)示符無效 (百度了沒有解決 )
Oracle 報錯ORA-00904:標(biāo)示符無效 (百度了沒有解決 )
create?or?replace?procedure?raisesalary(eno?in?number)as --定義一個變量保存漲前的薪水? psal?emp.sal%type; begin --得到員工漲前的薪水? select?sal?into?psal?from?emp?where?empno=eno; --給該員工漲100? update?emp?set?sal=sal+100?where?empno=eno; --需不需要commit? --注意:一般不在存儲過程或者存儲函數(shù)中,執(zhí)行commit和rollback --打印? dbms_output.put_line('漲前:'||psal||'??漲后:'||(psal+100)); end; 調(diào)試時?:
2021-05-13
看著好像是沒毛病啊,檢查下emp表,看下select和update的這個列名是否就是你創(chuàng)建的,有沒有寫錯不一致之類的
2018-06-26
1、字段名或者表名寫錯了,仔細(xì)檢查核對一下,如果實在是沒有發(fā)現(xiàn)錯的地方就有可能是第二種情況了
第二種情況就是:你的字段包含了oracle的關(guān)鍵字,把報錯的字段用雙引號括起來試試
?
現(xiàn)在舉一個我今天遇到的例子:
?insert into SSQX_SURGERY_INFO (ID,?PackId, REMARK, DEPARTID, AMOUNT, PRIORITY)
values (3, 11, '1rt', 1, 1, 'fdg')?????? 一直報PackId是無效標(biāo)識符
?改成insert into SSQX_SURGERY_INFO (ID,?”PackId“,?REMARK, DEPARTID, AMOUNT, PRIORITY)
values (3, 11, '1rt', 1, 1, 'fdg')???就OK啦, PackId在oracle的關(guān)鍵字