좋은 오후를 포함 2 선택 문을 결합 오류 MYSQL : 저장 기능
나는 MySQL의에서 명령 "에 대한 SHOW 보조금"의 동작을 모방하는 저장 기능을 만들었습니다. 스크립트 정의는 다음과 같습니다.CREATE FUNCTION get_grants(p_user text, p_host text, p_type text, p_obj text)
RETURNS text
NOT DETERMINISTIC
READS SQL DATA
BEGIN
...
END;
select 문에서이 함수를 사용하면 올바르게 실행됩니다. 예를 들면 : 그러나
SELECT User as USER, Host as HOST,
'GLOBAL' as PRIV_TYPE, NULL as DATABASE_NAME,
mydatabase.get_grants(User, Host, 'GLOBAL', '') as PRIVILEGES
FROM mysql.user
, 나는 UNION 또는 UNION과 같이 다른 매개 변수 값으로 함수를 호출이 SELECT 문에 가입하는 모든 문 사용할 때 :
SELECT User as USER, Host as HOST,
'GLOBAL' as PRIV_TYPE, NULL as DATABASE_NAME,
mydatabase.get_grants(User, Host, 'GLOBAL', '') as PRIVILEGES
FROM mysql.user
UNION ALL
SELECT User as USER, Host as HOST,
'DB' as PRIV_TYPE, Db as DATABASE_NAME,
mydatabase.get_grants(User, Host, 'DB', Db) as PRIVILEGES
FROM mysql.db
ORDER BY USER, HOST, DATABASE_NAME IS NULL, DATABASE_NAME;
I을 다음 오류가 발생합니다. # 1222 - 사용 된 SELECT 문의 다른 열 수는입니다.
누구든지 여기에서 무슨 일이 일어나고 있으며이 문제를 해결하는 방법을 설명 할 수 있습니까?
미리 감사드립니다.