Error al ejecutar creacion de un procedimiento almacenado
1 Archivos Adjunto(s)
saludos
tengo un error que no logro corregir. estoy tratando de crear un procedimiento almacenado en mi BD llamada ''Mibase'' Este es el código que ejecuto desde un ''New Query'' en el MSQL Server 2008:
después que lo ejecuto me dice: Código:
Msg 213, Level 16, State 1, Procedure INSERTARCLIENTES, Line 12 Cuando hago un ''Refresh'' no aparece el procedimiento almacenado creado.. No logro ver cual es la pavada que estoy cometiendo... os dejo imagen adjunta gracias |
Saludos
Hola
Creo que no te crea el procedimiento porque te falta especificar los campos a donde estas asignando esos valores por parámetro. Por ejemplo si quisiera insertar a mi tabla producto valores específicos pasados por variables:
Creo que solo te falta eso, ya que se puede asignar en cualquier orden y eso sql necesita saber. Ojala te sirva un saludo. |
Cita:
apenas comienzo con sql... El codigo me sirvio muy bien, ahora solo me falta que cuando haga un llamado a este procedimiento desde un boton para insertar clientes nuevo a mi tabla Clientes, necesito que tambien me pasa la Fecha y Hora en la que se registra el cliente... Como incluyo esto dentro de este procedimiento ??? gracias |
:rolleyes:
Bueno primero es una costumbre mía anotar el tipo de dato de un atributo en su nombre, si es un entero le pongo intCODIGO, si es varchar varNOMBRE, si es smallint smID,etc. Es solo costumbre y me ayuda. Segundo, puedes mandarle la fecha y hora desde dephi pero es algo innecesario para mi. Ya que puedes tomar estos datos desde SQL server directamente. Ej:
En otras palabras necesitas tener un atributo de tipo DATE y usas "GETDATE()" para tomar la fecha del sistema desde SQL Server. Lo cual es muy interesante porque si usas DATETIME también te guarda la hora con minutos y segundos(según recuerdo). Te aconsejo informarte mejor sobre el uso de estas funciones para tu proyecto, no te tomara mucho tiempo. Un saludo |
Cita:
|
bueno ahorita le agregue el campo de fecha y hora pero no me funciona, no reconoce el ''GetDateTime''
CREATE PROC INSERTARCLIENTES ( @Fecha_Hora datetime, @Nombres varchar(30), @Cedula varchar(13), @Telefono varchar(10), @Celular varchar(10), @Ciudad varchar(30), @Direccion varchar(100) ) as BEGIN INSERT INTO Clientes(Fecha_Hora,Nombres,Cedula,Telefono,Celular,Ciudad,Direccion) VALUES (GetDatetime(),@Nombres,@Cedula,@Telefono,@Celular,@Ciudad,@Direccion); END go |
No olvides los "tags" al código, gracias ;)
|
1 Archivos Adjunto(s)
cuando llamo al procedimiento almacenado para que me inserte un nuevo cliente, hay problemas al insertarlos, y pienso que esta en el ''GeDateTime'', el resto del procedimiento esta correcto porque ya lo probé y si inserta los demás datos... pero no la ''Fecha_Hora'' que es el campo que necesito para saber la fecha y la hora en que es registrado cada cliente...
|
:rolleyes::rolleyes::rolleyes:
Hola el código esta bien, solo hay un error que se debe a que no me explique bien creo. 1.Tu campo Fecha de tipo de dato DATETIME esta bien. 2.En el procedimiento solo se coloca GETDATE(). SQL Server almacenara todo en el campa fecha(tanto la fecha como la hora). Si fuera solo de tipo DATE guardaría solo la fecha. Lo cual almacena algo asi: Cita:
|
el problema es que me da el error que te envie en la imagen y dice esto:
Cita:
|
bueno.... solucione el problema quitando la variable @Fecha_Hora
quedando asi el proc almacenado:
|
La franja horaria es GMT +2. Ahora son las 20:03:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi