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
一直无法执行游标,删除之后,游标恢复正常,,目前还没搞名
分享到:
相关推荐
MySQL 存储过程实例 MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例讲解 PHP 是如何操纵 MySQL 存储过程的。 创建存储过程 存储过程的创建是 MySQL 存储过程的基础,MySQL 5.0 ...
在这个“Oracle的一个简单存储过程实例”中,我们可以看到如何在Oracle环境中创建、调用和管理存储过程。下面将详细讲解这个主题。 首先,`c.sql`、`b.sql`和`student.sql`可能是包含存储过程定义的脚本文件。这些...
在数据库管理领域,DB2是IBM推出...总结,DB2的存储过程是数据库开发的重要工具,通过学习和实践这些存储过程实例,不仅可以掌握基本操作,还能深入理解数据库管理和编程的高级概念,为今后的数据库工作打下坚实基础。
### Java调用存储过程实例:详解 #### 存储过程简介 存储过程是一种在数据库中编写的SQL程序,可以接受输入参数,执行一系列操作,并返回结果或输出参数。它们可以提高应用程序的性能、安全性和复用性。在Oracle...
### MySQL存储过程实例教程 #### 存储过程概念与优势 存储过程,作为数据库中一种预编译的SQL语句集合,旨在实现特定功能并存储于数据库内,用户仅需指定其名称及必要参数即可调用执行。这种设计极大地简化了...
在这个实例中,我们看到一个名为`Sum_wage`的存储过程,它的主要目的是对`ProWage`表中的工资进行加薪操作。 首先,存储过程的创建使用了`CREATE PROCEDURE`语句,定义了一个名为`Sum_wage`的过程,并接受三个参数...
### 存储过程实例分析 给定的存储过程示例名为`CreateProcedureAtoC`,主要功能是将输入的金额转换为中文大写形式。这个过程展示了如何在Oracle中定义和使用存储过程,包括变量声明、条件判断、循环结构等关键要素...
**实例3**:创建一个名为`temp_sale`的存储过程,将`Product`和`Order`两个表按产品编号连接,形成一个临时表`#temptable`,包含编号、产品名、客户名、订金和总金额(订金乘以订数): ```sql CREATE PROC temp_...
### Sysbase 存储过程实例详解 #### 一、存储过程概述 存储过程是一种数据库对象,在Sybase(这里应指Sybase SQL Server)这样的数据库管理系统中,存储过程是一组预编译并存储在数据库服务器上的SQL语句和流程...
在提供的压缩包文件"C#存储过程简单实例"中,可能包含了演示如何在C#中调用存储过程的代码示例。你可以参考这些示例,结合自己的数据库环境进行实践,以便更好地理解和掌握这一技术。记住,实践是检验理论的最好方式...
3. **创建存储过程实例** - 创建一个名为`stu_proc`的存储过程,获取`sno`为1的学生的`sname`并显示。 - 可以定义过程参数,如`IN`(输入参数)、`OUT`(输出参数)或`IN OUT`(输入输出参数)。 4. **调用存储...
在数据库管理中,"完美翻页"通常指的是在...总的来说,"完美翻页存储过程实例"是一个旨在提供高性能、用户体验优良的数据库分页解决方案,它结合了存储过程的优势,使得在大量数据中查找和浏览信息变得更加便捷和流畅。
### MySQL存储过程详解 #### 一、存储过程概述 存储过程是一种特殊类型的SQL代码集合,它们预先被编译并存储在数据库服务器上。用户可以通过指定存储过程名称并提供必要的参数来执行这些存储过程。这种机制提供了...
oracle 存储过程 实例 教程 oracle 存储过程 实例 教程 对于初学者来说是很好的例题
简单的oracle存储过程demo,可以参照写法写个存储过程玩玩
### 存储过程实例解释与事务处理 #### 一、简单存储过程的创建与调用 首先,我们来看一个简单的存储过程示例:`dbo.testProcedure_AX`。 ```sql CREATE PROCEDURE dbo.testProcedure_AX AS select userID from ...
"Oracle存储过程实例.pdf"可能包含了一系列实际问题的解决方案,通过存储过程实现,这可以帮助你在遇到类似问题时有所参考。这些实例可能涵盖了从简单的数据操作到复杂的数据处理任务,让你能够更好地理解存储过程在...
在这个“SQL存储过程实例.rar”压缩包中,我们很可能会找到一系列关于如何设计、创建、执行和管理SQL存储过程的实际示例。 SQL存储过程的优点在于它们可以提高性能,因为它们只需要编译一次,然后在后续的调用中...
### C#多条件查询存储过程实例 #### 一、引言 在开发应用程序时,数据库查询操作是非常常见的需求之一。为了提高查询效率和代码的可维护性,使用存储过程来进行多条件查询是一种非常有效的方法。本文将通过一个具体...