编写一个PL/SQL语句块,修改《Oracle12c数据库基础教程》的零售价格,保证修改后不超过50元。如果超过50元提示“价格过高!”。
时间: 2024-05-15 10:13:38 浏览: 79
以下是一个简单的 PL/SQL 语句块,用于修改书籍的零售价格:
```sql
DECLARE
book_id NUMBER := 1; -- 假设书籍 ID 为 1
retail_price NUMBER := 45; -- 修改后的零售价格
BEGIN
UPDATE books
SET retail_price = retail_price
WHERE book_id = book_id;
IF (retail_price > 50) THEN
RAISE_APPLICATION_ERROR(-20001, '价格过高!');
END IF;
COMMIT;
END;
```
这个语句块首先声明了两个变量 `book_id` 和 `retail_price`,分别表示要修改的书籍 ID 和修改后的零售价格。然后使用 `UPDATE` 语句更新书籍的零售价格,并使用 `WHERE` 子句指定要更新的书籍。
接下来,使用 `IF` 条件语句检查修改后的零售价格是否超过了 50 元。如果超过,就使用 `RAISE_APPLICATION_ERROR` 函数抛出一个异常,并提示“价格过高!”。最后,使用 `COMMIT` 语句提交修改,使其生效。
请注意,这只是一个简单的示例,实际情况可能更复杂。在编写 PL/SQL 语句块时,请务必谨慎对待数据,确保您的操作是安全和正确的。
阅读全文