美文网首页
45-48 动态加载CSVsheet/给sql 传递参数

45-48 动态加载CSVsheet/给sql 传递参数

作者: 山猪打不过家猪 | 来源:发表于2023-11-25 18:25 被阅读0次

45 动态加载csv sheet(untill的使用)

  • 假设,我们有多个csv文件,里面的sheet名称不一样,且数量也不知道,需要将每个sheet copy到blob里

46 给sql query传递动态参数

很重要的知识点:

@concat('select * from Sales where Country= ''',pipeline().parameters.p_country,'''')

中的引号的含义可以理解为

DECLARE @p_country NVARCHAR(255) = 'USA'; 
DECLARE @sql NVARCHAR(MAX);

SET @sql = 'SELECT * FROM Sales WHERE Country = ''' + @p_country + '''';

EXEC(@sql);

其中''' + @p_country + '''是一部分,表示了

'USA'

最后一个引号是和第一个select前的引号一个整体

SET @sql = '  SELECT * FROM Sales WHERE Country = ''' + @p_country + '''    ';
  • 另一种例子的解释:
@concat('select * from Sales where Country = ''',pipeline().parameters.p_country,'''','and Region = ''',pipeline().parameters.p_region,'''')

这个表达式的工作方式如下:

  • @concat 是用来拼接字符串的函数。
    'select * from Sales where Country = '' 是 SQL 查询的开始部分,其中 '' 在 ADF 表达式中表示 SQL 字符串中的一个单引号。
  • pipeline().parameters.p_country 是第一个动态参数,代表国家名。
    '''' 这部分稍微复杂。在 ADF 中,连续的四个单引号表示两个单引号字符,它们在 SQL 语句中表示一个单引号(结束国家名字符串字面量)和另一个单引号(开始下一个字符串字面量)。
  • 'and Region = '' 是连接第一个和第二个条件的 SQL 字符串,同样地,这里的 '' 表示 SQL 字符串中的一个单引号。
  • pipeline().parameters.p_region 是第二个动态参数,代表区域名。
  • 最后的 ''' 表示字符串的结束部分,同样地,这里的两个连续单引号代表 SQL 字符串中的一个单引号,而最后一个单引号则是结束整个 ADF 字符串字面量。
  • 所以,如果 p_country 是 "France",p_region 是 "Europe",这个表达式将生成以下 SQL 查询字符串:
select * from Sales where Country = 'France' and Region = 'Europe'

在这个最终的 SQL 查询字符串中,'France' 是 SQL 查询中的字符串字面量,它的单引号是通过 SQL Server 语句中的两个连续单引号表示的。

'select * from Sales where Country ='''+'usa'+'''' 
  • 流程
    1.创建pipeline的parameters,分别为p_country 和p_region,这里只是为了模拟上一步传递来的参数
  1. 创建copy程序,这里比较难的在于sql是动态的,需要使用上面1的参数,动态sql如下
@concat('select * from Sales where Country = ''',pipeline().parameters.p_country,'''','and Region = ''',pipeline().paremeters.p_region,'''')

相关文章

  • MyBatis传参数

    传递业务参数给sql语句,可用于动态拼接sql语句。在xml中的select标签中,参数节点parameterTy...

  • <四> MyBatis的基本使用

    主要内容: 一、动态参数二、自定义结果映射三、SQL片段的使用四、动态SQL五、MyBatis级联操作六、延迟加载...

  • geoserver动态颜色参数样式、动态sql配置实现

    geoserver动态颜色参数样式、动态sql配置实现 动态颜色参数样式、动态sql 访问方式: http://l...

  • 用SqlParameter 给SQL传递参数

    具体内容:https://www.cnblogs.com/WuXuanKun/p/5483414.html

  • 五,MyBatis动态SQL

    一,含义:动态SQL是指根据参数数据动态组织SQL的技术 二,动态SQL的应用场景:比如淘宝搜索的时候,可以动态的...

  • Day04 WebApi2

    1.杂项 query:查询。可选,用于给动态网页传递参数,可有多个参数,用'&'符号隔开,每个参数的名和值用'='...

  • mybatis的xml文件的标签详解

    Mybatis #{}和${}和区别 mybatis获取方法参数 动态SQL

  • SQL注入

    1 .什么是sql注入(Sql injection)? Sql注入是一种将sql代码添加到输入参数中,传递到Sql...

  • Generator(三)

    Iterator高级功能 给迭代器传递参数 可以通过next()方法给迭代器传递参数。当通过next()传递参数时...

  • Vue常见面试题

    1.怎么定义vue-router的动态路由?怎么获取传递过来的动态参数? 何为动态路由?能够提供参数的路由即为动态...

网友评论

      本文标题:45-48 动态加载CSVsheet/给sql 传递参数

      本文链接:https://www.haomeiwen.com/subject/mnlowdtx.html