def METHOD_NAME(sqlCase: dict, dataProvider: list, index: int) -> list:
    sqlCases = []
    for i, data in enumerate(dataProvider):
        sql = sqlCase.get('sql')
        sql = re.sub('d\\[' + str(index) + '\\]', str(data), sql)
        newSqlCase = deepcopy(sqlCase)
        # 设置新的sql
        newSqlCase['sql'] = sql
        newSqlCase['id'] = str(newSqlCase.get('id')) + "_" + str(i)
        newSqlCase['desc'] = newSqlCase.get('desc') + "_" + str(i)
        # 根据expectProvider 生成新的 预期结果 只对第一级测dataProvider可以设置不同的expect
        if index == 0:
            map = sqlCase.get('expectProvider')
            if map is not None and len(map) > 0:
                expectDesc = map.get(i)
                if expectDesc is not None:
                    newExpectDesc = newSqlCase.get('expect')
                    if newExpectDesc is None:
                        newSqlCase['expect'] = expectDesc
                    else:
                        success = expectDesc.get('success')
                        order = expectDesc.get('order')
                        columns = expectDesc.get('columns')
                        rows = expectDesc.get('rows')
                        count = expectDesc.get('count')
                        if success is not None and not success:
                            newExpectDesc['success'] = success
                        if count is not None and count > 0:
                            newExpectDesc['count'] = count
                        if columns is not None and len(columns) > 0:
                            newExpectDesc['columns'] = columns
                        if order is not None and len(order) > 0:
                            newExpectDesc['order'] = order
                        if rows is not None and len(rows) > 0:
                            newExpectDesc['rows'] = rows
        sqlCases.append(newSqlCase)
    return sqlCases