游標(biāo)是sql中效率最低的,盡量不要使用游標(biāo),如果你的參數(shù)名可以自己定義的話就好辦了,比如,@test1,@test2......@test10,定義成有規(guī)律的,那么可以通過拼參數(shù)名的方式

創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,成都移動(dòng)服務(wù)器托管,成都移動(dòng)服務(wù)器托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
set @sql='update dbo.KY_ProjectResult set state=1 where Project_Result_ID='+‘@test’+cast((11-@count) as char(10))
動(dòng)態(tài)的把你的sql拼出來,然后用exec()調(diào)用。
例如:
declare @str varchar(1000);
select @str='create table ttt(id1 int,id2 int,id3 int.....);'
exec(@str);
************
補(bǔ)充:
************
1、建一個(gè)表,保存你要追加的字段名和字段類型
如:create table t_tmp(id int IDENTITY(1,1) not null,col_name varchar(100),col_type varchar(100));
2、把你想要?jiǎng)討B(tài)追加的字段和類型全寫入表中
如:
insert into t_tmp(col_name,col_type) values('t1','int');
insert into t_tmp(col_name,col_type) values('t2','date');
insert into t_tmp(col_name,col_type) values('t3','varchar(100)');
insert into t_tmp(col_name,col_type) values('t4','char(100)');
3、生成動(dòng)態(tài)建表語(yǔ)句,并創(chuàng)建表
declare @str varchar(2000)
set @str='create table ttt('
select @str=@str + col_name+' '+col_type+',' from t_tmp
set @str=substring(@str,1,len(@str)-1)+')'
select @str
exec(@str)
---
以上,希望對(duì)你有所幫助。
正常循環(huán)有兩類循環(huán),普通循環(huán)和游標(biāo)循環(huán)
普通循環(huán):while,for ,WHILE LOOP
游標(biāo)循環(huán):針對(duì)你select出來的值進(jìn)行循環(huán)
除了上述那些還有復(fù)活形的多游標(biāo),嵌套循環(huán)等。
使用游標(biāo),如下
CREATE PROCEDURE proc_getalltable
AS
BEGIN
SET NOCOUNT ON;
DECLARE @tablename VARCHAR(100),@sql VARCHAR(1000)
DECLARE tablename CURSOR FOR SELECT tname FROM tablelist
OPEN tablename
FETCH NEXT FROM tablename INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @sql = 'SELECT * FROM ' + @tablename
EXEC(@sql)
FETCH NEXT FROM tablename INTO @tablename
END
CLOSE tablename
DEALLOCATE tablename
END
GO
當(dāng)前題目:sqlserver表循環(huán),sqlserverfor循環(huán)
轉(zhuǎn)載來于:http://chinadenli.net/article38/dsgsssp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、微信小程序、做網(wǎng)站、軟件開發(fā)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)