【发布时间】:2014-03-25 20:15:25
【问题描述】:
运行一个名为 QuerySchema 的存储过程,该过程接受一个名为“SelectedSchema”的参数。此过程将使用 IF 语句从以下视图返回数据:
Parameter View to Query
TABLES INFORMATION_SCHEMA.TABLES
COLUMNS INFORMATION_SCHEMA.COLUMNS
VIEWS INFORMATION_SCHEMA.VIEWS
ROUTINES INFORMATION_SCHEMA.ROUTINES
^ 这就是我的作业所说的。
尝试获取代码的基本布局。
CREATE PROCEDURE QuerySchema(SelectedSchema VARCHAR(70))
IF SelectedSchema = INFORMATION_SCHEMA.TABLES
THEN SELECT table_name, table_type, engine
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema='dmccann';
END IF;
//
错误 1109 (42S02):字段列表中的未知表“INFORMATION_SCHEMA”
^ 是我得到的错误。
但是,如果我只是使用
SELECT table_name, table_type, engine
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema='dmccann';
//
我得到了想要的结果。由于此时我只选择了一个参数,所以我不需要 else 语句,对吗?
【问题讨论】:
-
那是我一开始的错,我没有复制/粘贴我的代码,我只是在这里输入并没有校对它。但是,我想通了。感谢您的好评。
标签: mysql stored-procedures if-statement