0

我有一组 SQL 查询,其中包含一些动态值。每次我需要手动更新这些动态值并要求数据库团队运行这些 SQL 查询时。例如,在下面的一组 SQL 查询中,诸如1001WASTE MANAGEMENTWASTE MANAGEMENT_SUB、之3846333类的值是动态值,需要针对一组不同的值进行修改。我正在寻找一种方法来编写一些存储过程,以便可以动态添加这些值并执行该过程以插入 DB。我基本上是一名 UI 开发人员,并且是自动SQL查询的新手。如果我的理解有误,请纠正我。感谢您对任何替代解决方案的任何帮助或提示。任何有关如何实现我的理解的帮助也非常感谢。提前致谢。

INSERT INTO TEMP_BILLERS values('1001','WASTE MANAGEMENT','WASTE MANAGEMENT','WASTE MANAGEMENT_SUB','3846333');

INSERT INTO TBL_FP_BILLER_HEADER(BILLER_NAME) 
SELECT UNIQUE(biller_name) 
FROM temp_billers 
WHERE cif IN ('3846333') 
ORDER BY biller_name asc;

INSERT INTO TBL_FP_BILLER_DETAIL(biller_id, cif, service_id, service_name, account_number) 
SELECT tblh.biller_id, tbltemp.cif, tbltemp.acc_num, tbltemp.service_name, tbltemp.acc_num 
FROM TBL_FP_BILLER_HEADER tblh
INNER JOIN TEMP_BILLERS tbltemp
    on tblh.biller_name=tbltemp.biller_name
where tbltemp.cif='3846333';

UPDATE TBL_FP_BILLER_DETAIL 
SET PAYMENT_TYPE='A'
    ,REF_RETENTION_POLICY='90'
    , REF_EXPIRATION_POLICY='7' 
WHERE CIF='';

Insert into TBL_FP_USER_DEFAULT_BILLER (BILLER_ID,BILLER_NAME,CREATED_DATE,CREATED_BY,MODIFIED_DATE,MODIFIED_BY) 
select c.biller_id,'WASTE MANAGEMENT',null,null,null,null 
from TBL_FP_BILLER_DETAIL c 
where cif='3846333';
COMMIT;
4

1 回答 1

1

它应该是这样的:

create procedure example (@ttt nvarchar(100), @ddd nvarchar(100) as 
BEGIN

insert into sometable
select something
where somecolumn = @ttt
END

您应该创建获取所需参数的过程,然后在查询中使用它们。

于 2020-12-27T07:20:22.997 回答