【发布时间】:2021-02-25 04:07:39
【问题描述】:
- 我是 PL/SQL 的初学者。
- 我需要创建一个过程。
- 过程名称是
sp_emp_bonus,它有3个参数:department_idjob_idamount
- 该程序将更新
department_id和job_id内员工的奖金,并按金额增加现有奖金。
在update 语句之后,使用DBMS_OUTPUT.PUT_LINE 打印出受更新影响的员工数量(提示使用隐式游标属性)。
如果未找到员工,则异常部分应捕获 NO_DATA_FOUND 并打印未找到员工。还包括WHEN OTHERS ... and print DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM,1,100));的错误处理
这个怎么写?
【问题讨论】:
-
你不应该使用前缀作为数据库对象名称,尤其是你不应该使用
sp_作为前缀,因为它是微软保留的:sqlperformance.com/2012/10/t-sql-queries/sp_prefix(更新:我看到你使用的是 Oracle - 所以sp_禁令不适用,但我仍然认为使用任何类型的对象类型名称前缀(如 Systems Hungarian notation)都是不好的做法)。 -
您的帖子读起来像家庭作业。请详细说明您的问题的背景和性质。
-
你的代码在哪里?你都尝试了些什么?数据是什么样的?
-
您应该从编写普通更新查询和
CREATE PROCEDURE语法文档开始。然后,您可以发布另一个问题,其中包含到目前为止的详细解释和令人困惑的要点。
标签: sql oracle plsql procedure