locked
Declaracion de Variables de un tipo

    Pregunta

  • Buenos Dias..

         Tengo un problema al intentar declarar una variable del tipo de dato de una columan de una

    tabla existente.



    Tengo un procedimiento almacenado en oracle que lo hace de la siguiente manera:

    NombreVariable in NombreTabla.NombreColumna%TYPE

    Esta instruccion declara una variable del mismo tipo que el de

    la columna de la tabla en oracle...

    Lo que pasa es que necesito pasar ese procedimiento a SQL server. Ojala pudieran ayudarme. Gracias..


    Investigador
    jueves, 12 de marzo de 2009 17:11

Respuestas

  • La instruccion %TYPE de Oracle no tiene equivalente en T-SQL pero puede ser simulado (aunque no muy convenientemente) con tipos de datos definidas por el usuario (UDT). 

    Aquí está un ejemplo:

    --Crea el tipo definido por el usuario  
    EXEC sp_addtype 'MiTipo''smallint'NULL 
     
    --Crea una tabla con una columna del tipo definido por el usuario  
    CREATE TABLE MiTabla (columaMiTipo MiTipo)  
     
    --Crea una variable del tipo definido por el usuario   
    --dentro de un procedimiento almacenado  
    CREATE PROCEDURE MiProcedimiento  
    AS 
    BEGIN 
    DECLARE @VariableMiTipo MiTipo  
    END 

    Saludos
    Andrés González
    jueves, 12 de marzo de 2009 17:32

Todas las respuestas

  • La instruccion %TYPE de Oracle no tiene equivalente en T-SQL pero puede ser simulado (aunque no muy convenientemente) con tipos de datos definidas por el usuario (UDT). 

    Aquí está un ejemplo:

    --Crea el tipo definido por el usuario  
    EXEC sp_addtype 'MiTipo''smallint'NULL 
     
    --Crea una tabla con una columna del tipo definido por el usuario  
    CREATE TABLE MiTabla (columaMiTipo MiTipo)  
     
    --Crea una variable del tipo definido por el usuario   
    --dentro de un procedimiento almacenado  
    CREATE PROCEDURE MiProcedimiento  
    AS 
    BEGIN 
    DECLARE @VariableMiTipo MiTipo  
    END 

    Saludos
    Andrés González
    jueves, 12 de marzo de 2009 17:32
  • Hola.

    ¿Podrías explicar un poco el propósito que vas buscando, la funcionalidad que quieres cubrir? Parece como si quisieras declarar una variable de un tipo, pero sin conocerlo a priori, si no que dicho tipo fuera el tipo de datos de una columna de una tabla. En fin, bastante lioso. Si puedes detallarlo un poco, mucho mejor.

    Alberto López Grande.
    jueves, 12 de marzo de 2009 17:46