【发布时间】:2014-05-18 06:10:17
【问题描述】:
我收到错误代码:1327。
Undeclared variable; order_id.
我看了好几个小时的代码,不知道哪里出错了。我认为它可能链接到Select last insert()..
USE Data_Name
DROP PROCEDURE IF EXISTS test;
DELIMITER //
PROCEDURE test()
BEGIN
DECLARE sql_error INT DEFAULT FALSE;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
SET sql_error = TRUE;
START TRANSACTION;
INSERT INTO orders VALUES
(DEFAULT, 3, NOW(), '10.00', '0.00', NULL, 4,
'American Express', '378282246310005', '04/2013', 4);
SELECT LAST_INSERT_ID()INTO order_id;
INSERT INTO order_items VALUES
(DEFAULT, order_id, 6, '415.00', '161.85', 1);
INSERT INTO order_items VALUES
(DEFAULT, order_id, 1, '699.00', '209.70', 1);
IF sql_error = FALSE THEN
COMMIT;
SELECT 'The transaction was committed.';
ELSE
ROLLBACK;
SELECT 'The transaction was rolled back.';
END IF;
END//
【问题讨论】:
-
我要说的很明显:order_id 没有定义。
标签: mysql mysql-workbench