ICU 是一种说不出的痛啊
USE [Nursing] GO /****** Object: StoredProcedure [dbo].[P_GetICUVitualSign] Script Date: 05/21/2015 21:47:21 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[P_GetICUVitualSign] @VisitNumberParam varchar (30), @RecordTypeParam datetime AS BEGIN SELECT * into #temp FROM [Nursing].[dbo].[V_ICUVitualSign] where VisitNumber=@VisitNumberParam order by RecordTime -----------------------2----------------- create table #tempdata ( visitnumber varchar(30), recordtime datetime, code varchar(100), value varchar(100) ) create table #tempdata2 ( rowindex int, visitnumber varchar(30), recordtime datetime, code varchar(100), value varchar(100) ) -----------------------3----------------- declare mycursor cursor for select VisitNumber,ItemNo,Value,RecordTime from #temp declare @VisitNumber varchar(100) declare @ItemNo varchar(100) declare @Value varchar(100) declare @RecordTime datetime open mycursor FETCH next from mycursor into @VisitNumber,@ItemNo,@Value,@RecordTime if @ItemNo=0 begin insert into #tempdata2(rowindex,visitnumber,code,value) select pos as rowindex, @VisitNumber as visitnumber, nvalue as code ,'' as value from Nursing.dbo.SplitToTable(@Value) where LEN(nvalue)>0 end while @@FETCH_STATUS=0 begin FETCH next from mycursor into @VisitNumber,@ItemNo,@Value,@RecordTime declare @count int select @count=COUNT(1) from #tempdata2 if(@ItemNo=0) begin delete from #tempdata2 insert into #tempdata2(rowindex,visitnumber,code,value) select pos as rowindex, @VisitNumber as visitnumber, nvalue as code ,'' as value from Nursing.dbo.SplitToTable(@Value) where LEN(nvalue)>0 end else begin if(@count>0) begin delete from #tempdata where recordtime=@RecordTime insert into #tempdata( visitnumber, recordtime , code , value ) select a.visitnumber as visitnumber, b.recordtime as recordtime , a.code as code , b.value as value from #tempdata2 as a left join (select pos as rowindex, @RecordTime as recordtime, nvalue as value from Nursing.dbo.SplitToTable(@Value) where LEN(nvalue)>0) as b on a.rowindex=b.rowindex end end end close mycursor DEALLOCATE mycursor -----------------------return data----------------- select ltrim(rtrim(visitnumber)) as visitnumber, recordtime as recordtime, ltrim(rtrim(code )) as code, ltrim( rtrim( value )) as value from #tempdata where recordtime=@RecordTypeParam ------------------------------over----------------- drop table #temp drop table #tempdata drop table #tempdata2 END GO
ICU 是一种说不出的痛啊的更多相关文章
- 【转】javascript入门系列演示·三种弹出对话框的用法实例
对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...
- 【JSP】三种弹出对话框的用法实例
对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...
- JavaScript中的三种弹出对话框
学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法.prompt()方法.prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性 ...
- js值类型转换(boolean/String/number),js运算符,if条件,循环结构,函数,三种弹出框
js值类型转换 number | string | boolean boolean类型转换 num = 0; var b1 = Boolean(num); console.log(b1) 转化为数字类 ...
- js中三种弹出框
javascript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prompt()来获得,可以利用这些对话框来完成js的输入和输出,实现与用户能进行交互的js代码 ...
- JavaScript中的三种弹出框的区别与使用
JavaScript中有三种原生的弹出框,分别是alert.confirm.prompt.分别表示弹出框.确认框.信息框. 以下是示例代码: <!DOCTYPE html> <htm ...
- js基础 三种弹出框 数据类型
总结:js三个组成部分ES:语法DOM:对象模型 => 通过js代码与页面文档(出现在body中的所有可视化标签)进行交互BOM:对象模型 => 通过js代码与浏览器自带功能进行交互 引入 ...
- javascript入门系列演示·三种弹出对话框的用法实例
对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...
- 关于jsp和html页面中的三种弹出框
代码: <!-- 引入jquery 由于在下面使用jquery选择器,与弹出框无关 --> <script type="text/javascript" src= ...
随机推荐
- android菜鸟学习笔记11----Intent的两点补充
关于Intent的两点补充: 1.隐式Intent启动组件,会有一个Intent解析的过程,若找不到能够处理该Intent的组件,程序就会异常终止.一个合理的做法是,在使用Intent实例启动组件如: ...
- SQL Server 中 GO 的用法(转)
本科里学了那么多年SQL Server一直看到书上各种SQL语句中间夹杂着那么几个看似毫无意义的GO,看着就让人莫名,问老师,老师一般只会告诉你,不要理他,这个东西没用的.但是个性纠结并且有轻微强迫症 ...
- ABAP-创建货源清单
CALL FUNCTION 'ME_DIRECT_INPUT_SOURCE_LIST' *&-------------------------------------------------- ...
- spring 获取bean的几种方式
1.读取xml文件的方式,这种在初学入门的时候比较适用 . ApplicationContext applicationContext = new ClassPathXmlApplicationCon ...
- Java for LeetCode 113 Path Sum II
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...
- Java基础教程:多线程基础(3)——阻塞队列
Java基础教程:多线程基础(3)——阻塞队列 快速开始 引入问题 生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据. 模 ...
- eslint 配合 git (husky)
为了保证每次提交的 git 代码是正确的,为此我们可以使用 eslint 配合 git hook, 在进行git commit 的时候验证eslint规范 如果 eslint 验证不通过,则不能提交. ...
- :style动态设置属性
前段时间做页面时需要动态设置背景图片,每一种框架都会遇见类似的需求,特记录下来,以免不时之需: <!DOCTYPE html> <html> <head> < ...
- valgrind报错VEX temporary storage exhausted
valgrind的使用请参考: 使用valgrind进行内存泄漏和非法内存操作检测 最近在使用valgrind进行内存泄漏检测是时,竟然报错,如下: VEX temporary storage exh ...
- 《C prime plus (第五版)》 ---第12章 存储类.链接和内存管理
12-1:存储类: 1.作用域: 代码块作用域,函数原型作用域和文件作用域. 2.链接:分为外部链接,内部链接和空链接.代码块作用域和函数原型作用域都是空连接,意味着是私有的.而文件作用域的变量可能是 ...