SQL過程我有列的表格員工:ID,姓名,部門,薪水。 我想創造出增加所有員工的工資在一個特定的部門和運行過程,如果工資低於500的程序,否則返回到保存點。 我不知道怎麼寫異常PL /與保存點
CREATE PROCEDURE `procedure1` (IN dep1 INT(11), IN sal1 INT(11))
BEGIN
SAVEPOINT point1;
UPDATE employee SET salary=salary+sal1
WHERE department=dep1;
EXCEPTION
WHEN salary>500 THEN
ROLLBACK TO point1;
END
你是什麼意思,「運行程序?」調用另一個過程而不是更新?這不是一個例外。這是不正確的pl/sql。 – OldProgrammer
我要檢查,如果工資少於500然後進行更新 –
您已經標記與PL/SQL(Oracle)的問題,但你已經顯示的語法似乎預示着MySQL的(那些可怕的反引號,INT(11)) - 所以你在用什麼? Oracle或MySQL? –