在最近两个小时前,我不知道程序。到目前为止,我只学习了一个查询过程。但是如果我需要在一个过程中运行多个查询,假设有两个查询,那么我该怎么做呢?假设我想在我的分区表中插入一个分区,然后想要从该表中选择所有的section_name,包括我现在插入的最后一个分区。那我该怎么写我的程序呢?这是我在下面给出的选择和插入查询。请记住我正在使用sqlyog。我的疑问如下:
选择查询>>>
SELECT * FROM district;
插入查询>>>
INSERT INTO district(district_name) VALUES('District');
答案 0 :(得分:2)
你可以在体内写一个stetement,在这种情况下,程序可以是这样的(没有BEGIN ... END子句) -
CREATE PROCEDURE procedure1()
INSERT INTO table1 VALUES(NULL);
对于某些陈述,您需要使用BEGIN ... END子句 -
DELIMITER ||
CREATE PROCEDURE procedure1()
BEGIN
INSERT INTO table1 VALUES(NULL);
INSERT INTO table1 VALUES(NULL);
INSERT INTO table1 VALUES(NULL);
END||
这是一篇关于分隔符的文章 - What is the DELIMITER in MySQL and what it’s used for。
答案 1 :(得分:1)
您可以在存储过程中一个接一个地运行多个SQL语句。您可以创建这样的过程。
CREATE PROCEDURE MyProcedure()
BEGIN
INSERT INTO district(district_name) VALUES('District');
SELECT * FROM district;
END;
答案 2 :(得分:1)
在mysql中,你可以简单地将多个语句放入proc中,用;分隔;
这样的事情应该有效:
delimiter //
CREATE PROCEDURE myProc ( )
BEGIN
INSERT INTO district(district_name) VALUES('District');
SELECT * FROM district;
END//