none
Definir campos en procedmiento Almacenado Sql Server RRS feed

  • Pregunta

  • Hola

    De antemano agradezco a todos los que amablemente contribuyan a resolver este problema

    Estoy haciendo un STORE PROCEDURE en SQL Server 2014

    Tengo una tabla con los siguientes campos:

    Sucursal

    Esracion

    ID Empresa

    El procedimiento funciona bien con estos dos campos

    CREATE PROCEDURE [El infiltrado.Facturas](
         @Sucursal nchar(10),
         @Estacion nchar(10) 

    Pero cuando añado el tercampo me da error :

    CREATE PROCEDURE [El infiltrado.Facturas](
         @Sucursal nchar(10),
         @Estacion nchar(10),
         @[ID Empresa] char(2)

    Como ven, el campor ID Empresa me lo acepta bien cuando creo la tabla, pero cuando genero un procedimiento almacenado no me lo acepta. 

    He intendado quitando los corchetes @ID Empresa char(2), pero aun asi me da el error

    Gracias por sus respuestas.

    viernes, 24 de abril de 2020 23:53

Todas las respuestas

  • Hola rodolopa

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, vamos a darte seguimiento e investigaremos para buscar la mejor respuesta para ti.

     

    Podrias mostrarnos el error? Sera que no es un valor char, sino que tenga un tipo de dato distinto?

    Gracias por usar los foros de MSDN.

     

    Luis Diego Mora

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    sábado, 25 de abril de 2020 0:13
    Moderador
  • 

    Este es el error

    En la longitud de la variable...

    sábado, 25 de abril de 2020 3:02
  • Hola rodolopa:

    El problema no es el tamaño, sino que id empresa incumple las reglas de los identificadores.

    Reglas de los identificadores normales
    Los nombres de variables, funciones y procedimientos almacenados deben cumplir las siguientes reglas para los identificadores de Transact-SQL .
    ....
    4. No se permiten los caracteres especiales o los espacios incrustados.

    Quita el espacio de Id Empresa, o sustitúyelo por un subrayado

    CREATE PROCEDURE [EL INFILTRADO.FACTURAS] (
    @Sucursal NCHAR(10),
    @Estacion NCHAR(10),
    @ID_Empresa CHAR(2)
    )
    AS
    BEGIN
    	SELECT 1
    END

    Identificadores

    https://docs.microsoft.com/es-es/sql/relational-databases/databases/database-identifiers?view=sql-server-ver15#rules-for-regular-identifiers

    • Propuesto como respuesta McTinez sábado, 25 de abril de 2020 8:18
    sábado, 25 de abril de 2020 6:57