求sql循環語句
lz是不是不理解數據庫查詢的意義
select本身就是循環的過程
直接
select A1+A2+A3 from A
就行了
--------------------------
你有什么其它操作,很難有用查詢寫不出的事,你提出來看看
===========================
這個需要循環么?
select * into AAA from openrowset
('SQLOLEDB','server=*;uid=sa;pwd=xxx;database=B1'
, 'select * from AAA ')
INSERT INTO BBB select * from AAA
或者直接
INSERT INTO BBB
select * from openrowset
('SQLOLEDB','server=*;uid=sa;pwd=xxx;database=B1'
, 'select * from AAA ')
不就行了
需要循環么?
sql語言中是否有類似于C語言的for語句
SQL中有IF語句,FOR語句在SQL中沒有。但可用while一樣能做到。
例:
IF
——————
if (select count(*) from pos)>0
begin
select 'if'
end
while
____________
declare @a int
declare @b int
set @a=0
set @b=0
while @a
for 語句執行順序
for語句執行過程如下: ①先對表達式1賦初值; ②判別表達式2是否滿足給定條件,若其值為真,滿足循環條件,則執行循環體內語句,然后執行表達式3,進入第二次循環,再判別表達式2……;否則判斷表達式2的值為假,不滿足條件,就終止for循環,執行循環體外語句。
for語句語法流程如下圖所示: 例題: # include main () { int n,nu; nu=0; for (n=1;n<=200;n++) nu+=n; printf ("nu=%d\n",nu); } 編譯并執行后,屏幕顯示: nu=20100 在程序中,for語句小括號內的三個表達式分別為:n=1;n<=200;n++。表達式1,n=1是給n賦初值,表達式2是關系表達式,n小于等于200時,表達式都為真,則執行循環體內的語句nu+=n;(即nu=nu+n;),然后執行表達式3(n++),進入下一輪循環;若n大于200時,表達式2為假,則終止循環,執行printf()語句,在屏幕上打印出:nu=20100。