我是mysql的新手,我正在尝试在HeidiSQL中创建一个存储过程,但我真的很难做到这一点。
我正在尝试创建的程序应该在用户输入书名并单击提交按钮时显示书籍说明。
这是我的存储过程和我创建的表的代码:
BEGIN
select * from books
where
Title = Description;
END
CREATE TABLE books
(
IDBooks INT(11) NOT NULL AUTO_INCREMENT,
Title VARCHAR(50) NULL DEFAULT '0',
Description VARCHAR(50) NULL DEFAULT '0',
PRIMARY KEY (IDBooks)
)
答案 0 :(得分:0)
因此,您的SQL会返回所有书籍的列表,其标题和说明彼此相同。因此,如果您的图书表包含
ID Title Description
1 A Tale of Two Cities A Tale of Two Cities
2 Moby Dick A story of captain Ahab and a white whale.
3 Dr. Jekyll and Mr. Hyde Dr. Jekyll and Mr. Hyde
您的查询将返回
ID Title Description
1 A Tale of Two Cities A Tale of Two Cities
3 Dr. Jekyll and Mr. Hyde Dr. Jekyll and Mr. Hyde
你需要的是一个函数,它接受一个Varchar输入参数,让它命名为p_title
,并返回一个Varchar。例程正文看起来像这样:
BEGIN
Declare result as varchar(50);
Select description into result
from books
where title = p_title;
Return result;
END
您需要防范多本书的标题相同,否则会导致select into
失败。你可以通过标题上的唯一索引来实现这一点。