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 是一种说不出的痛啊的更多相关文章

  1. 【转】javascript入门系列演示·三种弹出对话框的用法实例

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  2. 【JSP】三种弹出对话框的用法实例

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  3. JavaScript中的三种弹出对话框

    学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法.prompt()方法.prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性 ...

  4. js值类型转换(boolean/String/number),js运算符,if条件,循环结构,函数,三种弹出框

    js值类型转换 number | string | boolean boolean类型转换 num = 0; var b1 = Boolean(num); console.log(b1) 转化为数字类 ...

  5. js中三种弹出框

    javascript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prompt()来获得,可以利用这些对话框来完成js的输入和输出,实现与用户能进行交互的js代码 ...

  6. JavaScript中的三种弹出框的区别与使用

    JavaScript中有三种原生的弹出框,分别是alert.confirm.prompt.分别表示弹出框.确认框.信息框. 以下是示例代码: <!DOCTYPE html> <htm ...

  7. js基础 三种弹出框 数据类型

    总结:js三个组成部分ES:语法DOM:对象模型 => 通过js代码与页面文档(出现在body中的所有可视化标签)进行交互BOM:对象模型 => 通过js代码与浏览器自带功能进行交互 引入 ...

  8. javascript入门系列演示·三种弹出对话框的用法实例

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  9. 关于jsp和html页面中的三种弹出框

    代码: <!-- 引入jquery 由于在下面使用jquery选择器,与弹出框无关 --> <script type="text/javascript" src= ...

随机推荐

  1. android菜鸟学习笔记11----Intent的两点补充

    关于Intent的两点补充: 1.隐式Intent启动组件,会有一个Intent解析的过程,若找不到能够处理该Intent的组件,程序就会异常终止.一个合理的做法是,在使用Intent实例启动组件如: ...

  2. SQL Server 中 GO 的用法(转)

    本科里学了那么多年SQL Server一直看到书上各种SQL语句中间夹杂着那么几个看似毫无意义的GO,看着就让人莫名,问老师,老师一般只会告诉你,不要理他,这个东西没用的.但是个性纠结并且有轻微强迫症 ...

  3. ABAP-创建货源清单

    CALL FUNCTION 'ME_DIRECT_INPUT_SOURCE_LIST' *&-------------------------------------------------- ...

  4. spring 获取bean的几种方式

    1.读取xml文件的方式,这种在初学入门的时候比较适用 . ApplicationContext applicationContext = new ClassPathXmlApplicationCon ...

  5. 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 ...

  6. Java基础教程:多线程基础(3)——阻塞队列

    Java基础教程:多线程基础(3)——阻塞队列 快速开始 引入问题 生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据. 模 ...

  7. eslint 配合 git (husky)

    为了保证每次提交的 git 代码是正确的,为此我们可以使用 eslint 配合 git hook, 在进行git commit 的时候验证eslint规范 如果 eslint 验证不通过,则不能提交. ...

  8. :style动态设置属性

    前段时间做页面时需要动态设置背景图片,每一种框架都会遇见类似的需求,特记录下来,以免不时之需: <!DOCTYPE html> <html> <head> < ...

  9. valgrind报错VEX temporary storage exhausted

    valgrind的使用请参考: 使用valgrind进行内存泄漏和非法内存操作检测 最近在使用valgrind进行内存泄漏检测是时,竟然报错,如下: VEX temporary storage exh ...

  10. 《C prime plus (第五版)》 ---第12章 存储类.链接和内存管理

    12-1:存储类: 1.作用域: 代码块作用域,函数原型作用域和文件作用域. 2.链接:分为外部链接,内部链接和空链接.代码块作用域和函数原型作用域都是空连接,意味着是私有的.而文件作用域的变量可能是 ...