我需要将 DB2 中的 for 语句转换为 MYSQL,但到目前为止我还没有任何线索。有人可以给我一些提示或告诉我如何在 MYSQL 中编写它吗? 下面的代码是我在 IBM 网站上找到的 for 语句示例。
BEGIN
DECLARE fullname CHAR(40);
FOR v1 AS
c1 CURSOR FOR
SELECT firstname, midinit, lastname FROM employee
DO
SET fullname =
lastname CONCAT ', '
CONCAT firstname
CONCAT ' '
CONCAT midinit;
INSERT INTO TNAMES VALUES ( fullname );
END FOR;
END;
最佳答案
也许是这个
MariaDB [sandbox]> select title,firstname,middlename,lastname from awperson limit 10;
+-------+-----------+------------+------------+
| title | firstname | middlename | lastname |
+-------+-----------+------------+------------+
| | Ken | J | Sánchez |
| | Terri | Lee | Duffy |
| | Roberto | | Tamburello |
| | Rob | | Walters |
| Ms. | Gail | A | Erickson |
| Mr. | Jossef | H | Goldberg |
| | Dylan | A | Miller |
| | Diane | L | Margheim |
| | Gigi | N | Matthew |
| | Michael | | Raheem |
+-------+-----------+------------+------------+
10 rows in set (0.00 sec)
MariaDB [sandbox]>
MariaDB [sandbox]> drop table if exists t;
Query OK, 0 rows affected (0.19 sec)
MariaDB [sandbox]> create table t (fullname varchar(100));
Query OK, 0 rows affected (0.42 sec)
MariaDB [sandbox]> insert into t(fullname)
-> select trim(concat(ifnull(title,''),' ',ifnull(firstname,''),' ',ifnull(middlename,''),' ',ifnull(lastname,'')))
-> from awperson
-> limit 10;
Query OK, 10 rows affected (0.17 sec)
Records: 10 Duplicates: 0 Warnings: 0
MariaDB [sandbox]>
MariaDB [sandbox]> select * from t;
+-----------------------+
| fullname |
+-----------------------+
| Ken J Sánchez |
| Terri Lee Duffy |
| Roberto Tamburello |
| Rob Walters |
| Ms. Gail A Erickson |
| Mr. Jossef H Goldberg |
| Dylan A Miller |
| Diane L Margheim |
| Gigi N Matthew |
| Michael Raheem |
+-----------------------+
10 rows in set (0.00 sec)
关于mysql - 如何将 DB2 中的 for 语句转换为 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55371310/