菜鸟求问一个数据调取的问题

qq_27236919 2016-12-10 11:31:50
各位大虾,我数据库里有一个表,现在的问题是用什么命令可以得到这样一个数据:carid:车牌、remark:临时车或VIP车、time:停放总时长(出场时间减进场时间) add:地址 ;因为本人水平有限,烦请高手帮助,解决步骤尽量详细
dbo.re
carid remark time add
川A0D3U7 临时车 2016/11/6 14:05:14 金家渡入口1
川A0D3U7 临时车 2016/11/6 14:43:45 莫干山出口
川A0M2M3 临时车 2016/11/11 17:48:53 莫干山入口
川A0M2M3 临时车 2016/11/11 20:10:56 莫干山出口
川A0S953 临时车 2016/11/5 15:01:39 莫干山出口
川A0Y91Z VIP车 2016/11/1 6:56:20 莫干山出口
川A0Y91Z VIP车 2016/11/1 21:48:01 莫干山入口
川A0Y91Z VIP车 2016/11/2 6:53:31 莫干山出口
川A0Y91Z VIP车 2016/11/2 21:33:17 莫干山入口
川A0Y91Z VIP车 2016/11/3 5:04:25 金家渡入口1
川A0Y91Z VIP车 2016/11/3 6:54:34 莫干山出口
川A0Y91Z VIP车 2016/11/3 17:40:05 金家渡入口1
...全文
751 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2016-12-12
  • 打赏
  • 举报
回复
qq_27236919 2016-12-12
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
用sql语句select选出数据
版主大人,能给个具体的语句吗
qq_27236919 2016-12-12
  • 打赏
  • 举报
回复
谢谢各位老师的帮助与解答
赵4老师 2016-12-12
  • 打赏
  • 举报
回复

 访问和更改关系数据 

 
Transact-SQL 游标
Transact-SQL 游标主要用在存储过程、触发器和 Transact-SQL 脚本中,它们使结果集的内容对其它 Transact-SQL 语句同样可用。

在存储过程或触发器中使用 Transact-SQL 游标的典型进程为: 

声明 Transact-SQL 变量包含游标返回的数据。为每一结果集列声明一个变量。声明足够大的变量以保存由列返回的值,并声明可从列数据类型以隐性方式转换得到的数据类型。


使用 DECLARE CURSOR 语句把 Transact-SQL 游标与一个 SELECT 语句相关联。DECLARE CURSOR 语句同时定义游标的特征,比如游标名称以及游标是否为只读或只进特性。


使用 OPEN 语句执行 SELECT 语句并生成游标。


使用 FETCH INTO 语句提取单个行,并把每列中的数据转移到指定的变量中。然后,其它 Transact-SQL 语句可以引用这些变量来访问已提取的数据值。Transact-SQL 不支持提取行块。


结束游标时,使用 CLOSE 语句。关闭游标可以释放某些资源,比如游标结果集和对当前行的锁定,但是如果重新发出一个 OPEN 语句,则该游标结构仍可用于处理。由于游标仍然存在,此时还不能重新使用游标的名称。DEALLOCATE 语句则完全释放分配给游标的资源,包括游标名称。在游标被释放后,必须使用 DECLARE 语句来重新生成游标。 
监视 Transact-SQL 游标的活动
可以使用 sp_cursor_list 系统存储过程来获得对当前连接可见的游标列表,使用sp_describe_cursor、sp_describe_cursor_columns和 sp_describe_cursor_tables 来确定游标的特征。

在游标打开后,@@CURSOR_ROWS 函数或由 sp_cursor_list 或 sp_describe_cursor 返回的 cursor_rows 列会指出游标中的行数。

在每个 FETCH 语句执行之后,@@FETCH_STATUS 更新以反映最后一次提取的状态。也可以从由 sp_describe_cursor 返回的 fetch_status 列中获取该状态信息。@@FETCH_STATUS 报告游标中的状态,比如超出第一行和最后一行的提取。@@FETCH_STATUS 对于连接来说是全局性的,并在连接游标打开时由每次提取进行重置。如果必须在以后了解状态,就需要在连接中执行另外一个语句之前,把 @@FETCH_STATUS 保存在一个用户变量中。即使下一语句不是 FETCH,也可能是 INSERT、UPDATE 或 DELETE 这些语句,它们能够激发包含可重置 @@FETCH_STATUS 的 FETCH 语句的触发器。sp_describe_cursor 返回的 fetch_status 列对于指定的游标来说是确定的,不受那些引用其它游标的 FETCH 语句的影响,但 sp_describe_cursor 会受引用相同游标的 FETCH 语句的影响,因此使用时必须注意。

完成 FETCH 后,游标将定位在已提取的行上。被提取的行称为当前行。如果游标没有声明为只读游标,就可以执行带有 WHERE CURRENT OF cursor_name 子句的 UPDATE 或 DELETE 语句来修改当前行。

由 DECLARE CURSOR 语句赋给 Transact-SQL 游标的名称可以是全局或局部的。全局游标的名称可由任何位于同一连接上的批处理、存储过程或触发器引用。局部游标名称不能在声明游标的批处理、存储过程或触发器之外被引用。触发器和存储过程中的局部游标因而可以避免来自存储过程或触发器外部的无意引用。

使用游标变量
Microsoft® SQL Server™ 2000 也支持 cursor 数据类型的变量。游标可以有两种方法与一个 cursor 变量相关联:

/* Use DECLARE @local_variable, DECLARE CURSOR and SET. */
DECLARE @MyVariable CURSOR

DECLARE MyCursor CURSOR FOR
SELECT LastName FROM Northwind.dbo.Employees

SET @MyVariable = MyCursor

/* Use DECLARE @local_variable and SET */
DECLARE @MyVariable CURSOR

SET @MyVariable = CURSOR SCROLL KEYSET FOR
SELECT LastName FROM Northwind.dbo.Employees

当游标与 cursor 变量相关联之后,在 Transact-SQL 游标语句中就可以使用 cursor 变量代替游标名称。存储过程输出参数也可指派为 cursor 数据类型,并与一个游标相关联。这就允许存储过程有节制地展示其局部游标。

引用 Transact-SQL 游标
Transact-SQL 游标名称和变量只能由 Transact-SQL 语句引用,而不能由 OLE DB、ODBC、ADO 和 DB-Library 的 API 函数引用。例如,如果要使用 DECLARE CURSOR 和 OPEN 语句生成一个 Transact-SQL 游标,就无法使用 SQLFetch 或 SQLFetchScroll 函数来从 Transact-SQL 游标中提取行。需要游标处理而又使用这些 API 的应用程序应该使用数据库 API 中内建的游标支持代替 Transact-SQL 游标。

通过使用 FETCH 并绑定由 FETCH 返回给程序变量的每一列,可以在应用程序中使用 Transact-SQL 游标。Transact-SQL FETCH 不支持批处理,因此,这是将数据返回给应用程序的效率最低的方法。每提取一行均需往返服务器一次。使用内建在数据库 API 中的游标功能更为有效,可进行多行提取。

当包含在存储过程和触发器中时,Transact-SQL 游标极其有效。这是因为所有操作都编译到服务器上的一个执行计划内,不存在与行提取有关的网络流量。


请参见

@@FETCH_STATUS

FETCH

CLOSE

游标函数

OPEN

DEALLOCATE

WHERE

DECLARE CURSOR

Transact-SQL 游标名称的作用域

©1988-2000 Microsoft Corporation。保留所有权利。
赵4老师 2016-12-12
  • 打赏
  • 举报
回复
访问和更改关系数据 游标 关系数据库中的操作会对整个行集产生影响。由 SELECT 语句返回的行集包括所有满足该语句 WHERE 子句中条件的行。由语句所返回的这一完整的行集被称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制的结果集扩展。 游标通过以下方式扩展结果处理: 允许定位在结果集的特定行。 从结果集的当前位置检索一行或多行。 支持对结果集中当前位置的行进行数据修改。 为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持。 提供脚本、存储过程和触发器中使用的访问结果集中的数据的 Transact-SQL 语句。 请求游标 Microsoft® SQL Server™ 2000 支持两种请求游标的方法: Transact-SQL 对根据 SQL-92 游标语法制定的游标,Transact-SQL 语言支持使用它们的语法。 数据库应用程序编程接口(API)游标函数 SQL Server 支持这些数据库 API 的游标功能: ADO(Microsoft ActiveX® 数据对象) OLE DB ODBC(开放式数据库连接) DB-Library 应用程序不能混合使用这两种请求游标的方法。已经使用 API 指定游标行为的应用程序不能再执行 Transact-SQL DECLARE CURSOR 语句请求一个 Transact-SQL 游标。只有在将所有 API 游标特性均设回默认值后,应用程序才可以执行 DECLARE CURSOR。 如果 Transact-SQL 和 API 游标均未被请求,则默认情况下 SQL Server 将一个完整的结果集返回给应用程序,这个结果集称为默认结果集。 游标进程 Transact-SQL 游标和 API 游标有不同的语法,但下列一般进程可用于所有 SQL Server 游标: 把游标与 Transact-SQL 语句的结果集相关联,并且定义游标的特征,如是否能够更新游标中的行。 执行 Transact-SQL 语句以填充游标。 检索想要查看的游标中的行。从游标中检索一行或多行的操作称为提取。执行一系列的提取操作以向前或向后检索行的操作称为滚动。 根据需要,对游标中当前位置的行执行修改操作(更新或删除)。 关闭游标。 ©1988-2000 Microsoft Corporation。保留所有权利。
  • 打赏
  • 举报
回复
select 字段1,字段2....from 表名
oyljerry 2016-12-11
  • 打赏
  • 举报
回复
用sql语句select选出数据

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧