usp_insertrole.sql

来自「数据库学习的绝好例子简单的数据库经典入门」· SQL 代码 · 共 31 行

SQL
31
字号
CREATE OR REPLACE PROCEDURE usp_InsertRole
(
inRoleID           CHAR,
inRoleName         VARCHAR2,
inRoleDescription  CLOB,
inRanking          NUMBER
)
AS

RankAvailable number(3,0);

BEGIN
   BEGIN
      SELECT Ranking INTO RankAvailable
      FROM Roles
      WHERE Ranking = inRanking;
      RAISE_APPLICATION_ERROR (-20999,
         'Ranking already exists and cannot be duplicated');
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
      BEGIN
         INSERT INTO Roles
            (RoleID, RoleName, RoleDescription, Ranking, LastUpdateDate)
            VALUES(inRoleID, inRoleName, inRoleDescription, inRanking, SYSDATE);
         EXCEPTION
            WHEN OTHERS THEN
            RAISE_APPLICATION_ERROR( -20999,'Insert into Roles failed.');
      END;
   END;
END;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?