Ver Mensaje Individual
  #3  
Antiguo 21-07-2011
andresenlared andresenlared is offline
Miembro
 
Registrado: oct 2003
Posts: 153
Reputación: 21
andresenlared Va por buen camino
Muchas gracias por tu ayuda, ahora ya atengo el cuerpo del procedimiento almacenado pero al ejecutarlo marca error para las lineas donde esta declare y otros errores mas abajo. Entendi que para usar variables internas al procedimientio van despues del AS, y las de entrada y retorno van despues de create procedure. Coloco a continuacion el codigo que tengo...porque no he podido solucionar este problemilla. Gracias.

Código SQL [-]
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
--SET ANSI_NULLS ON
--GO
--SET QUOTED_IDENTIFIER ON
--GO
-- =============================================
-- Author:    
-- Create date: <Create Date,,>
-- Description:  
-- =============================================
CREATE PROCEDURE GENERAR_FOLIO
  -- Add the parameters for the stored procedure here
  --<@Param1, sysname, @p1> int> = , 
  --<@Param2, sysname, @p2> int> = 
    @ID_UMAE INT, 
    @ID_PACIENTE INT, 
    @FOLIO CHAR(13) OUTPUT, 
    @DES_UMAE CHAR(50) OUTPUT, 
    @CVE_PRESUPUESTAL CHAR(13) OUTPUT
    
AS
   declare @CONSECUTIVO int,
   declare @NEWCONSECUTIVO int,
   declare @LARGO int,
   declare @DIFERENCIA int,
   declare @COMPLETAR char(5),
   declare @COD_UMAE int,
   declare @ANIO char(4),
   declare @DIGIANIO CHAR(2)
  
BEGIN

  -- SET NOCOUNT ON added to prevent extra result sets from
  -- interfering with SELECT statements.
  SET NOCOUNT ON;
    -- Insert statements for procedure here
  --SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
   SELECT SET @CONSECUTIVO=tbl_usrporumae.consecutivo FROM tbl_usrporumae
   WHERE tbl_usrporumae.id_umae=@ID_UMAE
   
   SET @ANIO=substring(convert(char(8), getdate(),112),1,4)
   SET @DIGIANIO=substring(@ANIO,3,4)
   
   SET @NEWCONSECUTIVO=@CONSECUTIVO+1;
   SET @LARGO=5;

   SET @DIFERENCIA=@LARGO-LEN(STR(@NEWCONSECUTIVO,10);
   SET @COMPLETAR=''

   if (@DIFERENCIA=4) 
      SET @COMPLETAR='0000'

   If (@DIFERENCIA=3) 
      SET @COMPLETAR='000'

   if (@DIFERENCIA=2) 
      SET @COMPLETAR='00'

   if (@DIFERENCIA=1) 
      SET @COMPLETAR='0'

   set @FOLIO=@COD_UMAE+'-'+@DIGIANIO+'-'+@COMPLETAR+str(NEWCONSECUTIVO,10));

   UPDATE tbl_usrporumae SET tbl_usrporumae.consecutivo=@NEWCONSECUTIVO
   WHERE tbl_usrporumae.id_umae=@ID_UMAE;
   
   
   UPDATE tblpaciente SET tblpaciente.imp_e='T', 
   tblpaciente.id_umae=@ID_UMAE, TBLPACIENTE.fecha_impresione=getdate() where tblpaciente.id=@id_paciente;

END
GO
__________________
Popayán-Colombia
Responder Con Cita