none
Dudas en procedimientos almacenados RRS feed

  • Pregunta

  • Amigos tengo algunas dudas, se necesita crear unos procedimientos almacenados pero que todos ellos tengan solo dos o tres parámetros, la diferencia es que en solo uno de esos parámetros debería ir toda la entidad por ejemplo todo el registro de un cliente, se ha pensado pasar en una sola cadena utilizando separadores o la otra alternativa era utilizar xml.

    En base su experiencia que recomendarían usar, tomando como base que se debería insertar en algún momento cabecera y detalle.

    viernes, 23 de noviembre de 2012 23:43

Respuestas

  • A partir de SQL Server 2008 cuentas con una caracteristica que cumple con lo que estas planteando, es el uso de table valued parameters en SP, los pasos consisten basicamente en crear un tipo (TYPE) cuya definición responda especificamente al tipo de tabla que quieres pasar como parametro, luego a nivel del SP defines el parametro de este tipo.   Aquí un ejemplo rápido.

    CREATE TYPE ClienteType
    (
     IDCliente int,
     Nombres  varchar(250),
     Apellidos varchar(250)
    )
    GO
    --Una vez creado pues verificarlo
    SELECT * FROM sys.table_types
    --Creamos el SP
    CREATE PROCEDURE usp_EjemploParametroTabla (
           @i_tipotabla ClienteType READONLY
     )
     AS
     BEGIN
           SELECT * FROM @i_tipotabla      
     END
     GO

    Saludos.

    "How many years can some people exist before they're allowed to be free" Bob Dylan Email: info@geohernandez.com Blog: geeks.ms/blogs/ghernandez

    sábado, 24 de noviembre de 2012 0:43