提问人:Jaafar Melhem 提问时间:1/30/2023 更新时间:1/30/2023 访问量:88
调用过程 sql-tool vscode
Call procedure sql-tool vscode
问:
我搞不清问题出在哪里! 该过程已成功创建,但调用引发以下错误:
Cannot read properties of undefined (reading 'undefined')
完整示例:
-- @block
CREATE TABLE index_table(
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
creat_at TimeSTAMP DEFAULT now()
);
-- @block
INSERT INTO index_table(first_name, last_name)
VALUES ('fname1', 'lname1'),
('fname2', 'lname2'),
('fname3', 'lname3'),
('fname4', 'lname4');
-- @block
DROP PROCEDURE if EXISTS get_table;
CREATE PROCEDURE get_table()
BEGIN
SELECT 2 ;
END
-- @block
CALL get_table();
答:
0赞
Lajos Arpad
1/30/2023
#1
您错过了更改 .基本上,您需要将 更改为其他内容,因此 的创建将是一个命令,不会与 的内部命令混淆。这是经过测试且有效的代码版本:delimiter
delimiter
procedure
procedure
-- @block
CREATE TABLE index_table(
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
creat_at TimeSTAMP DEFAULT now()
);
-- @block
INSERT INTO index_table(first_name, last_name)
VALUES ('fname1', 'lname1'),
('fname2', 'lname2'),
('fname3', 'lname3'),
('fname4', 'lname4');
delimiter //
-- @block
DROP PROCEDURE if EXISTS get_table;
CREATE PROCEDURE get_table()
BEGIN
SELECT 2 ;
END //
delimiter ;
-- @block
CALL get_table();
评论
0赞
Jaafar Melhem
1/30/2023
错误出在调用过程中...我认为在SQLTools扩展中不需要分隔符.在vs代码中创建过程后,我在MySQL命令行上运行它。它可以毫无问题地工作.在VS代码中,它抛出一个错误!
评论