MySQL中'go'的等价物是什么?
问题描述:
在TSQL我可以声明:MySQL中'go'的等价物是什么?
insert into myTable (ID) values (5)
GO
select * from myTable
在MySQL中我不能写相同的查询。
什么是在MySQL中编写此查询的正确方法?
答
分号在行尾。
INSERT INTO myTable (ID) values (5);
答
只是一个简单的;
所以尽量
insert into myTable(ID) values (5);
select * from myTable;
答
使用分号(;
)。它将分隔你的陈述。
答
分号是默认的分隔符。 但是,您可以使用DELIMITER关键字将其重新定义为任何您想要的。从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)
这当然不限于存储过程的定义。
答
我认为问题在于GO是批终止符,而不是语句终止符。在明确设置事务之后,我得到了这个代码,但没有告诉我该过程已经存在。没有交易报表,我确实收到了一个错误,说明该过程已经存在。
开始交易; 删除程序如果存在usp_test; 承诺; 开始交易; CREATE PROCEDURE usp_test()SELECT * from books; 承诺; call usp_test();
它甚至不必在行尾,只是在语句的末尾 – soulmerge 2009-04-22 14:44:57