灵活运用SQL Server2008 SSIS变量「建议收藏」

灵活运用SQL Server2008 SSIS变量「建议收藏」在SSIS开发ETL(Extract-Transform-Load),数据抽取、转换、装载的过程。我们需要自己定义变量 一、SSIS变量简介 SSIS(SQL Server Integration S

灵活运用SQL Server2008 SSIS变量

 

 

在SSIS开发ETL(Extract-Transform-Load),数据抽取、转换、装载的过程。我们需要自己定义变量

一、SSIS变量简介

SSIS(SQL Server Integration Services,SQL Server整合服务)变量分分为两种,一种是系统变量,一种用户定义的变量。系统变量包括有关包、容器、任务或事件处理程序的非常有用的信息。例如,在运行时,MachineName系统变量包含运行包含的计算机的名称,StartTime变量包开始运行的时间。系统变量是只读的。在SSIS中,用户变量是用户在开发的过程中根据需要申明的变量。用户变量可以使用在脚本中,在由优先约束、For循环容器、派生列转换和条件性拆分转换使用的表达式中,以及在更新属性值的属性表达式中。

   在各种编程语言中申明的变量一般情况下都会有作用范围的,SSIS变量也不例外,SSIS变量也是有作用范围的。根据作用范围分类,变量分为包变量和组件变量。包变量在包任何一个组件中都可以调用,组件变量只能够在声明变量的组件中有效。在变量的窗口中可以看到变量的作用域。

灵活运用SQL Server2008 SSIS变量「建议收藏」

可以看到i变量的作用域是整个Package1包,而myconfig变量作用域是数据流任务组件。

二、SSIS用户变量的声明、赋值、使用

1、申明变量

     申明变量是非常简单、如果你要申明包变量,只要单击控制流选项卡,然后在包开发区域空白处单击右键选择变量命令,或者新建变量按钮就新建一个变量,输入名称,选择数据类型,赋初值就完成了。

灵活运用SQL Server2008 SSIS变量「建议收藏」

如果要声明某数据流任务组件使用的变量,只要双击该数据流任务组件,在流控制控制选项卡空白的地方单击右键选择变量命名,在变量窗口中新建一个变量命令,在变量窗口中新建一个变量,这时变量的作用域就是你选择的流任务组件。

2、赋值

   在实际开发中,除了在变量声明的时候给变量赋值外,还有两种方式,一种是通过执行SQL任务组件返回值的方式给变量赋值,一种是通过脚本组件来给变量赋值。

在执行SQL任务组件方法是先设置好组件的数据库连接属性,然后输入从数据库取数据的SQL语句,设置组件返回的结果集为单行。在结果集界面中单击“新建”,在结果集那一列输入你刚才SQL返回列的名称,在变量名称列选择你要赋值的变量

灵活运用SQL Server2008 SSIS变量「建议收藏」

灵活运用SQL Server2008 SSIS变量「建议收藏」

图中红色方框中的SQL语句非常简单,返回单行,结果是1。在图4中,将返回的result列的一行赋值给用户变量i。

利用脚本组件赋值变量比较简单,只需要设置脚本组件的ReadOnlyvariable或者ReadWriteVariable,将变量的名称设置他们的值(多个变量以逗号分割),它们的区别是前者在脚本组件只能够读,或者可以读写。然后在脚本组件中通过

Dts.Varables(“变量名称”).Value=值

3、变量的使用

变量在ssis中使用的地方很多,笔者介绍两个典型的应用。

  (1) 执行 SQL 任务组件的参数

  假定申明了一个日期类型变量StartDate,用户需要通过从某个表中选择在StartDate日期之前的数据,这个时候需要将StartDate作为参数传给执行 SQL 任务组件。在执行 SQL 任务组件输入SQL的地方输入如下命令语句:

SELECT * FROM TABLE_a WHERE 日期字段 < ?

  然后在参数据映射界面新增映射,在变量名称列选择用户变量StartDate,选择类型为DATE,在参数名称列输入给参数取的名称。这样就可以将StartDate变量传给SQL任务组件的SQL语句了。

  (2) 在脚本组件中赋值

  可以在脚本组件中通过Dts.Variables(“i”).Value = 1方式赋值给变量,也可以通过这种方式来使用变量。比如Dts.Variables(“other_variable”).Value = Dts.Variables(“i”).Value+1,这个语句是可以在脚本组件中执行的,将i变量加1后赋值给另外一个变量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10339.html

(0)
上一篇 2022-12-29
下一篇 2022-12-29

相关推荐

  • Aerospike配置[通俗易懂]

    Aerospike配置[通俗易懂]Aerospike数据库配置说明 vi /etc/aerospike/aerospike.conf service {} #调整参数和进程所有者 network { #用于配置集群内和应用程序节点通…

    2023-02-25
    115
  • 免费Python在线面试练习测试

    免费Python在线面试练习测试
    Python作为一种高级编程语言,现已成为众多企业和开源社区的首选语言。在以信息技术为核心的现代化社会中,Python的广泛应用正在为许多行业和领域带来新的变革和机遇。同时,竞争也在不断升级。众多有才华的程序员以及培训机构涌现出来,使得就业市场变得异常激烈。企业和个人想要脱颖而出,全方位的技能和经验都非常重要。

    2023-12-13
    67
  • aerospike配置文件_风河编译器

    aerospike配置文件_风河编译器编译安装Aerospike 下载Aerospike Server社区版 wget -O aerospike.tgz 'https://www.aerospike.com/download/…

    2023-02-25
    112
  • 公司不让用存储过程了,以后咋做报表?[通俗易懂]

    公司不让用存储过程了,以后咋做报表?[通俗易懂]得快点找替代方案。 原来存储过程是“不得不用”,因为前端的报表工具不具备复杂计算能力,而为报表准备数据的逻辑又很复杂,用存储过程方便些。 但存储过程的缺点实在太多,除了不好调试,没法扩展,无法移植,…

    2023-03-15
    106
  • 使用Python os模块的environ方法设置环境变量

    使用Python os模块的environ方法设置环境变量在操作系统中,环境变量说白了就是存储特定信息的一组变量,是一种全局变量。在Python中,可以使用os模块中的environ方法来设置和修改环境变量,该方法可以通过Python程序设置操作系统的环境变量,从而实现进程间通信、系统配置和软件开发等方面的需求。

    2024-02-12
    51
  • centos安装redis教程_centos7安装redis5

    centos安装redis教程_centos7安装redis51、检查安装依赖程序 yum install gcc-c++ yum install -y tcl yum install wget 或者 yum install -y gcc g++ gcc-c+…

    2023-01-24
    97
  • python比c(python比C语言)

    python比c(python比C语言)c语言和python语言两者相比较,c语言更值得学,具体原因如下:

    2023-10-31
    78
  • 初学Reids(二)–安装Redis「建议收藏」

    初学Reids(二)–安装Redis「建议收藏」1. 下载 redis官网支持Linux版本,微软维护windows版本 redis官网,可以下载linux版本 https://redis.io/ windows版本 https://github…

    2023-02-22
    108

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注