導航:首頁 > 程序命令 > 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命令相關的資料

熱點內容
php512 瀏覽:566
手機文件夾應用推薦怎麼關 瀏覽:605
伺服器為什麼要分業務口和管理口 瀏覽:682
楊輝三角java演算法 瀏覽:55
cmd編譯錯誤找不到符號 瀏覽:695
linuxip機器名 瀏覽:487
伺服器喇叭和頻道喇叭有什麼區別 瀏覽:31
閑魚排名演算法如何計算 瀏覽:975
linuxtargz解壓命令 瀏覽:741
還完房貸後解壓手續銀行會代辦嗎 瀏覽:811
解壓烹飪樂高 瀏覽:675
元神的伺服器怎麼看 瀏覽:362
stc8單片機串口中斷 瀏覽:954
信號分析pdf 瀏覽:927
暴力刪除命令 瀏覽:803
qt如何編譯加快速度 瀏覽:903
php添加數據sql語句 瀏覽:717
免費的小說app有什麼 瀏覽:405
螺桿壓縮機進氣閥動畫 瀏覽:651
兩台伺服器如何做負載均衡 瀏覽:227