怎么把这几个sql语句变成存储过程?Updtate <PRJ_GP_HQ.T_HQ_GP_CSCM t>
Set <CSCM_STATUS=1>
Where cscm_no=’cscmid’;
Update <cscn_business>
Set <publish_status=0>
Where cscm_pid=(select t.pid from PRJ_GP_HQ.T_HQ_GP_CSCM t
Where cscm_no=’cscmid’);
Update <PRJ_GP_HQ.T_HQ_GP_PA>
Set <cscmjoin2_status=1>
Where pid in(select a.Bussiness_pid from PRJ_GP_HQ.T_HQ_GP_CSCM_BUSINESS a
Where cscm_pid=(select b.pid from PRJ_GP_HQ.T_HQ_GP_CSCM b
Where cscm_no=’cscmid’));
以下是将这几个SQL语句转换为Oracle存储过程的示例代码:
CREATE OR REPLACE PROCEDURE PROCESS_CSCM_UPDATE (cscmid IN VARCHAR2)
IS
BEGIN
Update PRJ_GP_HQ.T_HQ_GP_CSCM t
Set CSCM_STATUS=1
Where cscm_no=cscmid;
Update cscn_business
Set publish_status=0
Where cscm_pid=(select t.pid from PRJ_GP_HQ.T_HQ_GP_CSCM t
Where cscm_no=cscmid);
Update PRJ_GP_HQ.T_HQ_GP_PA
Set cscmjoin2_status=1
Where pid in(select a.Bussiness_pid from PRJ_GP_HQ.T_HQ_GP_CSCM_BUSINESS a
Where cscm_pid=(select b.pid from PRJ_GP_HQ.T_HQ_GP_CSCM b
Where cscm_no=cscmid));
END PROCESS_CSCM_UPDATE;
在这个存储过程中,我们把查询条件中的"cscmid"作为输入参数传递给存储过程,并在存储过程中使用此参数代替原始SQL中的硬编码字符串。注意,在Oracle存储过程中,我们使用的是PL/SQL语法,并使用关键字"IN"来传递输入参数。如果您需要进行其他查询和操作,请参考Oracle文档以获取更多信息。