存储 过程 实例

ALTER PROCEDURE [dbo].[checkLock]
	(@uvid int, @uid nvarchar(100))
WITH EXEC AS CALLER
AS
BEGIN  
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	--SET NOCOUNT ON;
	declare @size int
  declare @uname nvarchar(100)
  set @uname=@uid
	--print @uid
   --0 FETCH 语句成功。 

   begin
      --具体实现
	  select  @size = count(*)  from mLOCK where uvid=@uvid and uid=@uid
	 -- print @size
	  if(@size=0)
	  begin
	  insert into mLOCK (uvid,uid,typeid,eventid,label,status,ignition,lat,lon,radius,speed,priority) values(@uvid,@uname,1,2,' ',1,1,0.0,0.0,100,0,0)
	  insert into mLOCK (uvid,uid,typeid,eventid,label,status,ignition,lat,lon,radius,speed,priority) values(@uvid,@uname,1,3,' ',0,1,0.0,0.0,100,150,0)
      end
   end

END 

---------------------------------------------------------------
ALTER PROCEDURE [dbo].[iOS_UpdateVehicleAlert]
WITH EXEC AS CALLER
AS 
--声明2个变量  
   
declare @uvid INT 
declare @uid  nvarchar(50)  
   
--声明一个游标mycursor,select语句中参数的个数必须要和从游标取出的变量名相同  
declare mycursor cursor for select mVEHICLE.uvid,mVEHICLE.uid from mVEHICLE left join mLOCK on mVEHICLE.uvid=mLOCK.uvid where mLOCK.uvid is null
   
--打开游标  
open mycursor  
   
--从游标里取出数据赋值到我们刚才声明的2个变量中  
fetch next from mycursor into @uvid,@uid  
   
--判断游标的状态  
--0 fetch语句成功       
---1 fetch语句失败或此行不在结果集中       
---2被提取的行不存在  
while (@@fetch_status=0)   
begin   
   
--显示出我们每次用游标取出的值   
   print '游标成功取出一条数据'   
   print @uvid  
   print @uid  
   insert into mLOCK (uvid,uid,typeid,eventid,label,status,ignition,lat,lon,radius,speed,priority) values(@uvid,@uid ,1,2,' ',1,1,0.0,0.0,100,0,0)
--用游标去取下一条记录  
   fetch next from mycursor into @uvid,@uid  
end   
--关闭游标  
close mycursor   
--撤销游标  
deallocate mycursor

----------------------------------------------------------
之前根据模版在顶部存在以下内容
USE [MobileDB]
GO
/****** Object:  StoredProcedure [dbo].[checkLock]    Script Date: 2012/11/15 17:23:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


一直无法执行游标,删除之后,游标恢复正常,,目前还没搞名

猜你喜欢

转载自qinya.iteye.com/blog/1727837