![]() |
ayuda con variables hola todos soy relativamente nuevo en el mundo de mysql, mi pregunta es la siguiente: como michi declaro una variable... el manual dice asi declare @mivariable tipo; asi que yo declaro de la siguiente manera declare @texto varchar(10); y me sale error "you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'declare @mivar varchar(10)' at line 1" uso mysql 5.0.51b antes usaba la 5.0.12 pero como me salia este error lo actualice... la verdad que ya no se que hacer puesto que necesito hacer consultas usando variables... una consulta mas en mysql existen variables tipo tabla? pf estare al pendiente de su apoyo Saludos xD:ojotes::ojotes::ojotes: |
Respuesta: ayuda con variables 1. En los store procedures, la declaración no requiere el arroba (@), ésta se usa como variable directamente: Código: DECLARE variable INT;Por caso, si envias un string con el nombre de una tabla, para usarlo lo debes transverir a una variable @nombreVariable antes. 2. En MySQL no existen variables de tipo TABLE. |
Respuesta: ayuda con variables Cita:
CREATE PROC SP_FACT_ABONADO (@TELEFONO VARCHAR(10)) AS DECLARE @LINEA BIGINT SELECT @LINEA=NUMLINEA FROM FACT_CL18_200806 WHERE CONTAINS (TXT_FACT, @TELEFONO) SELECT TXT_FACT FROM FACT_CL18_200806 WHERE NUMLINEA BETWEEN (@LINEA-6) AND (@LINEA+54) GO La tabla solo tiene 2 columnas, ya que la data que me pasan es de un texto plano con los datos de las facturas tal como saldria impresa (un txt con informacion no normalizada, donde se sepera una factura de otra x una cantidad determinada de lineas). |
Respuesta: ayuda con variables 1. Recuerda, por favor, que no estás trabajando en SQL Server. Estás programando un SP en MySQL, lo que significa que no puedes usar codigo propio de SQL Server, ni tampoco las extensiones que Microsoft le agrega al ANSI SQL-99. 2. Entre las cosas que te olvidaste van: a) No pusiste el fin de linea en NINGUNA línea. En este caso es el mismo de Oracle: punto y coma (;). b) No prestaste atención a lo que te dije: En los SP de MySQL la variable que se declara NO LLEVA el arroba (@), puesto que son variables de procedimiento. Si usas variables con arroba es porque las estás creando dinámicamente al y tiene existencia dentro de la conexión. Esas se las denomina variables de usuario. El tema es que si vas a psar de un motor a otro, te recomiendo que antes de intentar hacer SP, funciones, triggers o incluso tablas e índices, leas con atención el manual de referencia, especialemten las partes concernientes a la sintaxis y a los tipos de datos. Código: DELIMITER $$ |
Respuesta: ayuda con variables gnzsoloyo, se que no estoy trabajando bajo SQL Server, por eso indique que de esa manera lo hago en SQL Server, es por eso que no puse los demilitores de linea y obviamente le puse la arroba a las variables ademas del AS y el GO, para q se hagan una idea de lo que quiero hacer, se que la sintaxis son diferentes entre el mysql y el sql server... bueno ejecute la sentencia tal como me indicas pero ahora me sale el siguiente error "YOU TRIED TO EXECUTE AN EMPTY STRING. PLEASE TYPE AN SQL COMMAND INTO THE SQL EDIT FIELD AND EXECUTE AGAIN" |
Respuesta: ayuda con variables En principio, ese mensaje solamente aparece cuando estás ingresando una sentencia de MySQL en alguna interfase y el renglón que estás tratando de ejecutar no tiene nada escrito. Lo que te puse es un script que, o lo ingresas renglón a renglón en la consola DOS de MySQL, o lo ejecutas desde un archivo, o lo haces correr desde una pagina de script, como en el caso de MySQL Query Browser. ¿Qué interfase estás usando para ejecutar esto? ¿Usas la consola, MySQL Query Browser, phpMyAdmin, o alguna otra aplicación? |
Respuesta: ayuda con variables Ah ya!!!... mira yo uso el MySQL Query Browser... voy a probarlo como me indicas y lo pruebo... Salu2 |
Respuesta: ayuda con variables Si usas el Query Browser, tiene un menú para editar directamente los SP y las funciones (Script>Create store procedure / function). Te crea un script con el código base y el nombre, y sólo tienes que llenar el cuerpo. Además, al ejecutarlo, lo compila y te avisa de los errores que encuentre. No te olvides de hacerlo con la base de datos seleccionada. Es fundamental. |
| La zona horaria es GMT -6. Ahora son las 08:19. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.