22/07/2010, 11:24
|
| | Fecha de Ingreso: diciembre-2008 Ubicación: sullana, Piura
Mensajes: 106
Antigüedad: 15 años, 10 meses Puntos: 0 | |
Respuesta: Manejo de fecha en procedimiento almacenados Cita:
Iniciado por gnzsoloyo Estás usando incorrectamente el nombre de las variables locales. Acuérdate de que no estás programando para SQL Server, sino para mySQL.
Las variables locales no tiene prefijos, si estás recibiendo la variable numerocomprobante, no se le debe poner el prefijo @numerocomprobante, porque esa sería otra variable diferente.
Sólo las variables de usuario (de sesión) usan prefijo, pero no las locales de un procedimiento.
Lo correcto sería:
Código MySQL:
Ver original SET anulacioncompras = 1, fehoanulacioncompra = fehaanulacioncompra , motivoanulacioncompras = motivoanulacioncompras; WHERE numerocomprobantecompras = numerocomprobante ;
Tips:
- No uses nombres tan largos. Terminarás teniendo problemas de sintaxis al tipearlos.
- No uses VARCHAR para almacenar un TIMESTAMP. Usa los tipos de datos correctos. Un TIMESTAMP tiene una longitud real en memoria y disco de 8 bytes, mientras que el VARCHAR necesita 19 para hacer lo mismo. Y eso es simplemente porque los datos de fecha y hora se almacenan como binarios y no como caracteres, al igual que los números. mira lo deje asi:
Código MySQL:
Ver original set anulacioncompras = 1, fehoanulacioncompra = @fehaanulacioncompra , motivoanulacioncompras = @motivoanulacioncompras ; WHERE numerocomprobantes = @numerocomprobantes ;
si tenia los @, solo ke me ekivoke al elegir el tipo de consulta, bueno igual me da error de sintaxis |