Advertisement
jotaced

varios parametros a spu como string separados por caracter

Jul 31st, 2013
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.09 KB | None | 0 0
  1. ALTER PROCEDURE [dbo].[spu_historiaclinica_indmedica_horario]
  2. @pac_numficha NUMERIC(10), @ingcorrel NUMERIC(10), @hojas VARCHAR(50) , @servicio VARCHAR(100), @usu_login VARCHAR(30), @fecha datetime
  3. AS
  4. BEGIN
  5.    
  6.     SET NOCOUNT ON;
  7.  
  8.     DECLARE @edad       datetime
  9.     DECLARE @rut        CHAR(10)
  10.     DECLARE @paciente   VARCHAR(250)
  11.     DECLARE @servicio_p VARCHAR(100)
  12.     DECLARE @fecha_ing  datetime
  13.     DECLARE @med_trat   VARCHAR(250)
  14.     DECLARE @fecha_ind  datetime
  15.     DECLARE @usuario    VARCHAR(150)
  16.     DECLARE @cama       VARCHAR(5)
  17.     DECLARE @diag       VARCHAR(2500)
  18.     DECLARE @hpacorrel  VARCHAR(10)
  19.    
  20.  
  21.     CREATE TABLE #informe (
  22.     hpa_correl      NUMERIC(10),
  23.     servicio_ind    VARCHAR(250),
  24.     fecha_ind       datetime,
  25.     medico_ind      VARCHAR(2500),
  26.     ind_general     VARCHAR(5000),
  27.     horario         VARCHAR(1),
  28.     fecha_hoy       datetime   
  29.     )
  30.    
  31.  
  32.     --SE ASOCIAN LOS DATOS PARA CADA REGISTRO HOJA
  33.     while @hojas <> '' 
  34.     BEGIN
  35.    
  36.         IF CHARINDEX(',',@hojas) > 0
  37.             SET @hpacorrel = LEFT(@hojas,CHARINDEX(',',@hojas) - 1)
  38.         ELSE
  39.             SET @hpacorrel = @hojas
  40.                
  41.                        
  42.         INSERT INTO #informe (hpa_correl,servicio_ind,fecha_ind, medico_ind, ind_general,fecha_hoy)
  43.         SELECT  DISTINCT
  44.                 HOJA_PACIENTE.HPA_CORREL,
  45.                 SER_NOMBRE,
  46.                 HPA_FECHA,
  47.                 CASE
  48.                     WHEN charindex(' ',rtrim(ltrim(USU_NOMBRES))) > 0 THEN
  49.                         rtrim(LEFT(USU_NOMBRES,charindex(' ',rtrim(ltrim(USU_NOMBRES)))))+ ' ' +USU_PATERNO + ISNULL(' ' +USU_MATERNO, '')
  50.                     ELSE rtrim(ltrim(USU_NOMBRES))+ ' ' +USU_PATERNO + ISNULL(' ' +USU_MATERNO, '')            
  51.                 END,
  52.                 ISNULL((SELECT rtrim(ltrim(IPA_TEXTO)) FROM ITEM_PACIENTE WHERE ITEM_PACIENTE.HPA_CORREL =@hpacorrel AND ICL_CORREL= 128 ),'') ,
  53.                 GETDATE()      
  54.         FROM    HOJA_PACIENTE (NOLOCK)
  55.                 LEFT JOIN SERVICIO (NOLOCK) ON SERVICIO.SER_CODIGO = HOJA_PACIENTE.SER_CODIGO
  56.                 LEFT JOIN USUARIO  (NOLOCK) ON USUARIO.USU_LOGIN = HOJA_PACIENTE.USU_LOGIN             
  57.         WHERE   HOJA_PACIENTE.HPA_CORREL = @hpacorrel
  58.         ORDER BY HPA_FECHA
  59.        
  60.         IF CHARINDEX(',',@hojas) = 0
  61.             SET @hojas = ''
  62.         ELSE
  63.             SET @hojas = RIGHT(@hojas,LEN(@hojas) - CHARINDEX(',',@hojas))
  64.     END
  65.  
  66.  
  67.  
  68.            
  69.    
  70.    
  71.    
  72.    
  73.     --SE MUESTRAN LOS RESULTADOS
  74.     SELECT * FROM #informe
  75.  
  76.  
  77. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement