2016-11-11 5 views
0

このMySQL関数の何が問題なのか教えていただけますか?エラー時にMySql関数のinformation_schemaを使用

私は、How can I “select *” from a table in MySQL but omit certain columns?のリンクに従って、MySQLで関数を定義しました。しかし、 "no database selected"というエラーが出ました。

DELIMITER $$ 
CREATE FUNCTION getTableColumns(_schemaName varchar(100), _tableName varchar(100), _omitColumns varchar(200)) RETURNS varchar(5000) 
BEGIN 
    SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '_omitColumns,', '') 
    FROM information_schema.columns 
    WHERE table_schema = _schemaName AND table_name = _tableName 
    INTO results; 
    RETURN results; 
END$$ 

Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar. 

答えて

0

はちょうどあなたが正しいです

your_database_name.getTableColumns(...... 
+0

関数名とデータベース名を追加します!ありがとう!データベース間でグローバルな機能を持つことは可能ですか? –

+0

関数は常にデータベースの下にありますが、共有関数を使用する場合は[comman schema](http://dba.stackexchange.com/questions/50678/mysql-possibility-to-create-global-routines-ストアド・プロシージャ・アンド・ファンクション) –

関連する問題