【发布时间】:2021-01-10 15:24:00
【问题描述】:
我想在同一个存储过程中为同一张表写UPDATE的逻辑。下面是我的SP。
PROCEDURE INSERT_PROJECT_MST
(
P_PROJECTNO IN NVARCHAR2,
P_CRNO IN NVARCHAR2,
P_APPNAME IN NVARCHAR2,
P_APPFUNCDESC IN NVARCHAR2,
P_AZUREFEATNO IN NVARCHAR2,
P_AZUREFEATDESC IN NVARCHAR2,
P_PROJMANAGER IN NVARCHAR2,
P_PROJLEAD IN NVARCHAR2,
P_REQBY IN NVARCHAR2,
P_BUSINESSCAT IN NVARCHAR2,
P_BUSINESSUSERCAT IN NVARCHAR2,
P_FEATUREID IN NVARCHAR2,
P_ISMGISRNO IN NVARCHAR2,
P_REPLICARR IN NVARCHAR2,
P_PRODRR IN NVARCHAR2,
P_USERSTORY IN NVARCHAR2,
P_ASSIGNEDBY IN NVARCHAR2,
P_ASSIGNEDTO IN NVARCHAR2,
P_CREATEDBY IN NVARCHAR2,
P_LASTUPDBY IN NVARCHAR2,
TBLDATA OUT NVARCHAR2
)
AS
V_PROJ_ID NUMBER:=0;
BEGIN
-- SELECT COUNT(MST_ID) INTO V_PROJ_ID FROM TBL_PROJECT_MST_INFO WHERE PROJECT_NO = P_PROJECTNO;
INSERT INTO TBL_PROJECT_MST_INFO
(
PROJECT_NO,
CR_NO,
APPLICATION_NAME,
APP_FUNC_DESC,
AZURE_FEATURE_NO,
AZURE_FEATURE_DESC,
PROJECT_MANAGER_NAME,
PROJECT_LEAD_NAME,
REQUESTED_BY,
BUSINESS_CATEGORY,
BUSINESS_USER_CATEGORY,
RATIONAL_FEATURE_ID,
ISMG_ISR_NO,
REPLICA_RR,
PROD_RR,
USER_STORY,
ASSIGNED_BY,
ASSIGNED_TO,
CREATED_BY,
LAST_UPDATED_BY,
CREATED_DATE,
LAST_UPDATED_DATE
)
VALUES
(
P_PROJECTNO,
P_CRNO,
P_APPNAME,
P_APPFUNCDESC,
P_AZUREFEATNO,
P_AZUREFEATDESC,
P_PROJMANAGER,
P_PROJLEAD,
P_REQBY,
P_BUSINESSCAT,
P_BUSINESSUSERCAT,
P_FEATUREID,
P_ISMGISRNO,
P_REPLICARR,
P_PRODRR,
P_USERSTORY,
UPPER(P_ASSIGNEDBY),
UPPER(P_ASSIGNEDTO),
P_CREATEDBY,
P_LASTUPDBY,
SYSDATE,
SYSDATE
)
RETURNING V_PROJ_ID INTO TBLDATA;
TBLDATA:='Record Saved Succesfully';
END INSERT_PROJECT_MST;
以下是相同的表格说明。
Name Null Type
---------------------- -------- --------------
ID NUMBER
MST_ID NOT NULL NUMBER
PROJECT_NO NVARCHAR2(100)
CR_NO NVARCHAR2(100)
APPLICATION_NAME NVARCHAR2(255)
APP_FUNC_DESC CLOB
AZURE_FEATURE_NO NVARCHAR2(155)
AZURE_FEATURE_DESC CLOB
PROJECT_MANAGER_NAME NVARCHAR2(100)
PROJECT_LEAD_NAME NVARCHAR2(100)
REQUESTED_BY NVARCHAR2(100)
BUSINESS_CATEGORY NVARCHAR2(100)
BUSINESS_USER_CATEGORY NVARCHAR2(100)
RATIONAL_FEATURE_ID NVARCHAR2(100)
ISMG_ISR_NO NVARCHAR2(100)
REPLICA_RR NVARCHAR2(100)
PROD_RR NVARCHAR2(100)
USER_STORY NVARCHAR2(500)
CREATED_BY NVARCHAR2(100)
CREATED_DATE DATE
ASSIGNED_TO NVARCHAR2(100)
ASSIGNED_BY NVARCHAR2(100)
IS_ACTIVE CHAR(1)
LAST_UPDATED_BY NVARCHAR2(100)
LAST_UPDATED_DATE DATE
COLUMN3 VARCHAR2(20)
COLUMN4 VARCHAR2(20)
COLUMN5 VARCHAR2(20)
注意 MST_ID 是我的唯一标识列,我将根据它更新表格。
【问题讨论】:
标签: oracle stored-procedures insert-update