导航:首页 > 程序命令 > ssis变量中的sql命令

ssis变量中的sql命令

发布时间:2022-06-01 03:57:53

❶ SQL SERVER中变量声明的命令是什么

declare @变量名 类型

比如给你写个例子,declare的那些都是生明变量,set是给变量赋值

declare @a int
declare @b int
declare @c int
declare @d int
declare @str int
set @str=0
while @str<=9999
begin
set @a=cast(substring(right(񟍰'+cast(cast(@str as varchar) as varchar),4),1,1) as int)
set @b=cast(substring(right(񟍰'+cast(cast(@str as varchar) as varchar),4),2,1) as int)
set @c=cast(substring(right(񟍰'+cast(cast(@str as varchar) as varchar),4),3,1) as int)
set @d=cast(substring(right(񟍰'+cast(cast(@str as varchar) as varchar),4),4,1) as int)
if (@a*7+@b*9+@c*10+@d*5+222)%11=3
begin
print ('a='+cast(@a as varchar)+' b='+cast(@b as varchar)+' c='+cast(@c as varchar)+' d='+cast(@d as varchar))
end
set @str=@str+1
end

❷ 带有变量sql语句应该怎么写

select 后面的输出字段,只能是表中字段、或其它表达式,不能是变量。

将此Select 命令写在存储过程中,倒是能实现你的想法:

如:

create proc kkk @field varchar(20)
as
exec('select stu_id ,'+ @field +' from customers')

SQL Server中没有VFP中那样的“宏”的概念,只能用上面的办法来解决!
---------------------------------------------------

楼上的朋友,你根本就没有理解楼主的意思。

❸ 在SQL Server 2008 R2中SSIS怎么传表名变量

一、SSIS变量简介

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

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

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

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

1、申明变量

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

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

2、赋值

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

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

图中红色方框中的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后赋值给另外一个变量。

❹ sql server 中变量的命令是什么

声明局部变量语法:

DECLARE @variable_name
DataType

其中
variable_name为局部变量的名称,DataType为数据类型。

给局部变量赋值有两种方法:

1、SET
@variable_name=value

2、SELECT
@variable_name=value

两者的区别:SET赋值语句一般用于赋给变量一个指定的常量,SELECT赋值语句一般用于从表中查询出数据然后赋给变量。

例如:

DECLARE @count int

SET @count=123

PRINT @count

全局变量:

由于全局变量是系统定义的,我们这里只做举例。

@@ERROR
最后一个T-SQL错误的错误号

@@IDENTITY
最后一次插入的标识值

@@LANGUAGE
当前使用的语言名称

@@MAX_CONNECTIONS
可以创建的同时连接的最大数目

@@SERVERNAME
本地服务器的名称

@@VERSION SQL
Server的版本信息

这里是触发器的写法:

create trigger updateTest
on test for update
as
begin
declare @id int
declare @tablename
varchar(100)
declare @remark varchar(150)
set @tablename='test'
set
@remark=''
select @id=id from deleted
insert into tb_index
values(@id,@tablename,@remark)
end

create trigger deleteTest on test
for delete
as
begin
declare @id int
declare @tablename
varchar(100)
declare @remark varchar(150)
set @tablename='test'
set
@remark=''
select @id=id from deleted
insert into tb_index
values(@id,@tablename,@remark)
end

create trigger insertTest on test
for insert
as
begin
declare @id int
declare @tablename
varchar(100)
declare @remark varchar(150)
set @tablename='test'
set
@remark=''
select @id=id from inserted
insert into tb_index
values(@id,@tablename,@remark)
end

❺ 如何修改新建好的SSIS包中的SQL语句

这种情况可以做成通用的
所有的执行sql脚本,服务器信息都存在表里
设计包的时候只要读取对应的配置表就可以了
至于修改sql脚本只要到表里修改就好了

❻ 如何应用SSIS的变量,在SSIS中有几种方式可以更改变量值

就目前我知道的,SSIS自定义的变量在赋值的时候是可以改变的。你用“执行SQL任务”这个工具可以结果集选项中给变量赋值,也就是改变变量的值。

❼ SSIS OLE DB数据源中用SQL命令访问模式,却设不了参数

你图中的应该选到是SQL 命令吧。这个地方的参数没用过,用选项中的变量中的SQL 命令,然后把你需要的参数,用变量拼起来

❽ SQLSERVER中变量输出命令是什么

--用out就行了,给你一个例子

if object_id('tempdb..##aa') is not null
drop proc ##aa
go
create proc ##aa(@a int output,@b int out) --output既是传入参数又是传出参数
as
begin
set @a=@a+100;
set @b=@a+11;
end
go
declare @aa int=10,@bb int=0
execute ##aa @aa output,@bb out
print @aa
print @bb
go
--

阅读全文

与ssis变量中的sql命令相关的资料

热点内容
程序员多久能提升 浏览:145
bpmx3源码 浏览:121
通信类单片机 浏览:815
加密植发的区别 浏览:536
程序员跑需求 浏览:224
s7服务器怎么设置 浏览:343
2k17连接不上服务器怎么办 浏览:493
人力资源系统开源源码 浏览:687
河北视频加密有哪些 浏览:651
桌面两个微信怎么都加密码 浏览:278
长沙单身程序员 浏览:886
服务器下载异常是因为什么 浏览:705
java防刷 浏览:844
3dmax取消当前命令 浏览:361
显示当前模式下所有可执行的命令 浏览:760
为什么程序员拿了股份还要高薪 浏览:949
电脑运行命令里的记录能删吗 浏览:699
linuxwss 浏览:850
一个软件需要登录服务器地址 浏览:925
哪里有解压程序 浏览:301