SQL游标使用

--- 使用循环控制 
declare @a int
set @a=0
while @a<10
begin
 print @a
    set @a=@a+1
end

-- 获取系统时间
select  getdate()


exec  sp_addlinkedserver 'mailoudb','',''


EXEC sp_addlinkedserver 'DBLink' ,' ','SQLOLEDB','192.168.1.168' 
EXEC sp_addlinkedsrvlogin  'DBLink', 'false ',null, 'mailou', 'mailou12'
 
---删除
exec sp_droplinkedsrvlogin 'DBLinks',null  
exec sp_dropserver 'DBLinks' 
 
 

 select top 5 * from DBLink.mailouDB.dbo.Article
 
 
 ---- 远程操作
  --1. 此操作权限授权
 --select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.
 select * into remotetable from openrowset('sqloledb','192.168.1.168';'mailou';'mailou12','mailoudb.dbo.Login')
 
 ----JObs 作业
 ---添加作业需要启动sql Server 代理
 
--- systobjects 系统对象表 
select * from sysobjects


---查询数据中表的信息
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'
SELECT * FROM INFORMATION_SCHEMA.TABLES


---- 游标的使用
declare @level varchar(100)
declare @uid varchar(100)
declare cur cursor--定义一个游标

read_only for
    select egg_code.user_id,egg_prize_level from egg_code inner join egg_prize on egg_prize.user_id=egg_code.user_id--为所获得的数据集指定游标
open cur--打开游标

   fetch next from cur into @uid,@level   --把提取操作的列数据放到局部变量中
    while(@@fetch_status=0)               --返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
    begin
        --在此写入sql语句
 fetch next from cur into @uid,@level
 end
 
 
close cur--关闭游标
deallocate cur--删除游标

posted @ 2012-09-11 13:53  至道中和  阅读(213)  评论(0编辑  收藏  举报