En TSQL puedo afirmar:¿Cuál es el equivalente a 'ir' en MySQL?
insert into myTable (ID) values (5)
GO
select * from myTable
En MySQL no puedo escribir la misma consulta.
¿Cuál es la forma correcta de escribir esta consulta en MySQL?
En TSQL puedo afirmar:¿Cuál es el equivalente a 'ir' en MySQL?
insert into myTable (ID) values (5)
GO
select * from myTable
En MySQL no puedo escribir la misma consulta.
¿Cuál es la forma correcta de escribir esta consulta en MySQL?
Punto y coma al final de la línea.
INSERT INTO myTable (ID) values (5);
Just a simple;
así que intenta
insert into myTable(ID) values (5);
select * from myTable;
Utilice un punto y coma (;
). Separará tus declaraciones.
El punto y coma es el delimitador predeterminado. Sin embargo, puede redefinirlo a lo que quiera con la palabra clave DELIMITER. Desde el manual de MySQL:
mysql> delimiter //
mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
-> BEGIN
-> SELECT COUNT(*) INTO param1 FROM t;
-> END;
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> CALL simpleproc(@a);
Query OK, 0 rows affected (0.00 sec)
Esto no se limita a las definiciones de procedimiento almacenado, por supuesto.
Creo que el problema es que GO es un terminador de lote, no un terminador de declaración. Después de establecer explícitamente las transacciones, obtuve este código para ejecutar sin decirme que el procedimiento ya existe. Sin las declaraciones de transacción, obtengo un error de que el procedimiento ya existe.
iniciar transacción; drop procedure if existe usp_test; commit; iniciar transacción; CREAR PROCEDIMIENTO usp_test() SELECCIONAR * de libros; commit; llamada usp_test();
Ni siquiera tiene que estar al final de la línea, justo al final de la declaración – soulmerge
Creé una instrucción de inserción con ID = 0, y luego modifiqué el campo para incrementar automáticamente. Fue agregado como ID = 1 .. – zeetit