oracle存储过程转换为MySQL存储过程

CREATE OR REPLACE
PROCEDURE POC_Ta00_Cust(Test IN VARCHAR2,
Report_Code IN VARCHAR2) IS
i NUMBER;
BEGIN
i := 0;
LOOP

i := i + 1;
IF i > Test THEN
  EXIT;
END IF;

IF MOD(i, 20) = 0 THEN
  INSERT INTO Ta00_Cust
    (Cust_No,                                                            
     Report_Branch_Code,
     Disabled,
     Cust_Type,
     Cust_Type_Check,
     Cust_Name,
     Cust_Cert_Type,
     CUST_CERT_TYPE_REPORT,
     Cust_Cert_Type_Check,
     Cust_Other_Cert_Type,
     Cust_Cert_No,
     Cert_Start_Date,
     Cert_Mature_Date,
     CUST_INDUSTRY,
     Cust_Industry_Report,
     Cust_Industry_Name,
     Create_Org,
     Create_Time,
     Create_Teller,
     CREATE_CHANNEL,
     Cust_Manager_Org,
     Cust_Cancle_Date,
     CUST_STATUS,
     Manager_No,
     Manager_Name,
     Aml_Type_Cd,
     Update_Time,
     Update_Teller,
     Update_Org,
     Cust_Tel,
     Gender,
     Other_Contact,
     Cust_Country,
     Cust_Born_Date,
     Addr_Detail,
     Unit_Addr,
     Remark,
     Data_Source,
     Run_Date)
    SELECT (100000000 + i) AS Cust_No,
           Report_Code,
           '0',
           'C' AS Cust_Type,
           'C' AS Cust_Type_Check,
           substr(poc_Name(i), 2, 2) || poc_Name(i) || '股份有限责任公司',
           '610099',
           '610099',
           '610099',
           NULL AS Cust_Other_Cert_Type,
           Decode(MOD(Trunc(Dbms_Random.Value(0, 1000000000)), 2),
                  1,
                  '8',
                  '9') ||
           Round(Dbms_Random.value(10000000000000, 000000000000000), 0) ||
           Dbms_Random.String('U', 1),
           '2010-01-01',
           '9999-12-31',
           CASE MOD(Trunc(Dbms_Random.Value(0, 1000000000)), 10)
             WHEN 1 THEN
              'F5284'
    WHEN 2 THEN
              'Q8312'
             WHEN 3 THEN
              'Q8314'
             WHEN 4 THEN
              'G5410'
             WHEN 5 THEN
              'M7330'
             WHEN 6 THEN
              'C4210'
             WHEN 7 THEN
              'C3810'
             WHEN 8 THEN
              'F5211'
             ELSE
              'N7720'
           END,
           NULL AS Cust_Industry_Repor,
           NULL AS Cust_Industry_Name,
           '99999',
           TO_CHAR(TO_DATE(2455198 + TRUNC(Dbms_Random.Value(0, 3650)),
                           'J'),'YYYY-MM-DD') AS Create_Time,
           NULL AS Create_Teller,
           NULL AS Create_Channel,
           '99999',
          '9999-12-31',
           '1',
           NULL AS Manager_No,
           NULL AS Manager_Name,
           NULL AS Aml_Type_Cd,
           NULL AS Update_Time,
           NULL AS Update_Teller,
           NULL AS Update_Org,
           1 || Round(Dbms_Random.Value(1000000000, 0000000000), 0) AS Cust_Tel,
           NULL AS Gender,
           NULL AS Other_Contact,
           'CHN' Cust_Country,
           NULL AS Cust_Born_DatE,
           NULL AS Addr_Detail,
           NULL AS Unit_Addr,
           NULL AS Remark,
           NULL AS Data_Source,
          '2020-12-31' AS Run_Date
      FROM Dual;

END IF;

IF MOD(i, 10000) = 0 THEN
  COMMIT;
END IF;

END LOOP;

UPDATE Ta00_Cust
SET Cust_Industry_Report = Cust_Industry,
Cust_Industry_Name = Cust_Industry;
COMMIT;

END POC_Ta00_Cust;

看上去这是生成一组随机测试数据集。
里面大部分使用的oracle包及函数都可以找到mysql中的替代方式,但是poc_Name这个是你的自定义函数吧,这里面的逻辑也得转一个出来。
Dbms_Random是随机值,
trunc改成floor,
"||"改成用concat函数,
Decode改成case when,
Create_Time这个字段换一种写法,反正也是取随机,没必要完全按这个规则。
至于mysql的定义变量及循环结构,这个属于基础语法了,请自行查看相关基础教程