使用目的,利用以时间等条件参照其他表格,将会议目录抽取出来(游标的执行结果),然后以添加其他的文字形式对

结果进行修饰,由于最终目的是将会议目录以邮件的形势发布出去,所以单一的数据行查询的话,无法满足我想要得

集合结果(根据数据库设计方式不同),所以利用触发器来接受由外部发来的参数,然后利用游标将参数为条件提取数

据集,就是这样。

触发器游标部分的SQL文内容:

DECLARE @ROWSPACE VARCHAR(MAX)
DECLARE @CHARSPACE VARCHAR(MAX)
DECLARE @KARAMARK VARCHAR(6)
DECLARE @PART VARCHAR(MAX)
DECLARE @UNIONALL VARCHAR(MAX)

SET @ROWSPACE = CHAR(13)+ CHAR(10)   -- 改行
SET @CHARSPACE = ' '                                  -- 空格
SET @KARAMARK = ' ~ '
SET @LIST_CD = (SELECT LIST_CD FROM MST_MEETING WHERE YEAR = @param_YEAR AND MEETING_CD = @param_MEETING_CD)
SET @PART = ''
SET @UNIONALL = ''

BEGIN

DECLARE LOOP_T CURSOR FOR --游标的宣言

-- 以条件提取结果集的一部分

SELECT
@CHARSPACE + ISNULL(CONVERT(VARCHAR(10), DATE, 111), '')
+ @CHARSPACE + ISNULL(NAME, '')
+ @CHARSPACE + ISNULL(CONVERT(VARCHAR(5), START_TIME, 108), '')
+ @KARAMARK + ISNULL(CONVERT(VARCHAR(5), END_TIME, 108), '') AS DETAILS
FROM T_MEETING_LIST WHERE YEAR = @param_YEAR AND MEETING_CD = @param_MEETING_CD

--打开游标

OPEN LOOP_T;

-- 将提取结果带入游标

FETCH NEXT FROM LOOP_T INTO @PART;

WHILE @@FETCH_STATUS = 0

BEGIN

-- 对游标内容进行修饰,如该行

SET @UNIONALL = @UNIONALL + @ROWSPACE + @PART

-- 将修饰内容代入游标

FETCH NEXT FROM LOOP_T INTO @PART;
END;

-- 关闭游标

CLOSE LOOP_T;

-- 解除游标参照

DEALLOCATE LOOP_T;

-- 将游标内容代入最后结果(执行结果的红色部分)

SELECT DATE+'会议目录:' + @ROWSPACE + @UNIONALL

END

执行结果:

-----------------------------------------------------------------------------------------------------------

2008-12-26 会议目录:

2008-12-26       会议1            10:00      ~    12:00

2008-12-26       会议2            13:00      ~    14:00

2008-12-26       会议3            14:10      ~    15:30

2008-12-26       会议4            15:40      ~    17:00

http://hi.baidu.com/mali1979/blog/item/6d74b410ffd9b2fbc2ce79b6.html

DECLARE CURSOR FOR的使用相关推荐

  1. Springboot+sqlserver+Quartz整合报错: Failure obtaining db row lock: 第 1 行: 只有 DECLARE CURSOR 才允许使用 FOR U

    1.报错信息 org.springframework.context.ApplicationContextException: Failed to start bean 'quartzSchedule ...

  2. 4GL之Non-SCROLLING CURSOR

    在4gl中CURSOR可以说是每一个程序中都会有的,而CURSOR又分为三种SCROLLING CURSOR.Non-SCROLLING CURSOR.LOCKING CURSOR. Non-SCRO ...

  3. SQL游标(cursor)详细说明及内部循环使用示例

    游标 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果.每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理. 游标是处理 ...

  4. 【oracle】补充 cursor 基本例子

    [oracle]补充 cursor 基本例子 1118-02补充 cursor 基本例子 查看 共享的命令: cmd fsmgmt.msc /* cursor 1.参数列表,is <select ...

  5. oracle的cursor的介绍

    oracle的cursor的介绍 一  概念      游标是SQL的一个内存工作区,由系统或用户以变量的形式定义. 游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在 ...

  6. oracle游标指针移动时机,oracle--游标(cursor)

    1.游标是: 一种PL/SQL控制结构,相当于java中的Iterator ,它是指向结果集的指针.指向结果集第一条记录的前一条,每次fetch 都会向下移动下 游标并不是一个数据库对象,只是存留在内 ...

  7. Oracle中Cursor介绍

    一  概念 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从 存放在磁盘的表中调到计算机内存中进行处理,最后将处 ...

  8. oracle中的cursor属性有哪些,Cursor语法及理解

    游标的两种概念 共享游标 : 是用户提交 SQL 或 PL/SQL 程序块到 Oracle 的 share pool 之后,在 library cache 中生成的一个可执行对象,这个对象我们称之为游 ...

  9. 在SqlServer存储过程中使用Cursor(游标)操作记录

    1. 为何使用游标:      使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式.用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的 ...

最新文章

  1. nagios的搭建及配置----(中)
  2. 如何在Outlook中的电子邮件上显示快速操作按钮
  3. 一个JAXB Nuance:字符串与枚举(受限制的XSD字符串)
  4. linux命令找目录,linux中何种指令可以查看当前所处的目录位置?
  5. android消息机制 Message, Looper,Handler
  6. java logging 格式化_Spring源码使用java.util.logging打印日志
  7. BIEE配置多个实例(BIEE Multiple Instance)
  8. oracle中慢sql优化思路
  9. 5G浪潮推动 射频产业风起云涌
  10. 设计自己的基于Selenium 的自动化测试框架-Java版(1) - 为什么selenium还需要测试框架?...
  11. 如何远程断点调试本地localhost项目
  12. 电子通信计算机行业分类,电子信息产业行业分类目录
  13. dnf外挂java代码,使用Java实现简朴的斗地主案例_rust辅助,绝地求生卡盟
  14. cdma特有效应_[多选] 相对于IS-95A,下列特征哪些是CDMA20001x系统所特有的().
  15. 如何建立高效的需求管理机制?
  16. ​SQL注入非常详细总结
  17. ubuntu live cd制作
  18. 翻译记忆软件-塔多思TRADO经典教程_4
  19. ElasticSearch常用搜索关键字整理
  20. 如何基于 ZEGO SDK 实现 Android 变声/混响/立体声

热门文章

  1. 在EDGE中模拟IE访问网页
  2. ThreadLocal详解分析
  3. C8051F系列单片机技术问答
  4. 手机二次认证怎么操作?关于二次认证的常见问题!
  5. 佳能Canon imagePROGRAF iPF6410S 打印机驱动
  6. C#发送会议(约会)邀请
  7. Nessus快速上手-扫描任务
  8. 北漂五年,我回家了。后悔吗?
  9. “JTAG Warning: T-bit of XPSR is 0 but should be 1. Changed to 1.” 解决方案
  10. python 每天定时执行app_python简单的自动化APP启动时间测试