다음과 같은 저장 프로 시저가 있습니다.
DROP PROCEDURE IF EXISTS TEST;
CREATE PROCEDURE TEST()
BEGIN
IF (SELECT count(*) FROM (SELECT table_name
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name LIKE 'User') A) > 0 THEN
ALTER TABLE User DROP FOREIGN KEY FK_forkey
END IF;
END
SELECT ....
END IF에 구문 오류가 있습니다. 나는 이것을 고치기 위해 많은 방법을 시도했지만 지금까지 성공하지 못했습니다. DROP PROCEDURE 뒤와 END 뒤에 Delimiter를 추가하면 // 끝 Delimiter에서 오류가 발생합니다 (구분자는이 위치에서 유효한 입력이 아닙니다). 내가 무엇을 놓쳤는 지 / 어떻게 잘못 했습니까? 귀하의 답변에 미리 감사드립니다.
업데이트 됨
DROP PROCEDURE IF EXISTS TEST;
DELIMITER //
CREATE PROCEDURE TEST()
BEGIN
IF EXISTS(SELECT table_name
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name LIKE 'User')
THEN
ALTER TABLE User DROP FOREIGN KEY FK_AccountID;
END IF;
END //
DELIMITER;
위의 업데이트는 내 새로운 변경 사항이며 끝 구분 기호에 오류를보고합니다. Delimiter is not valid input at this position
이 답변은 @Solarflare에서 온 것입니다. 그 / 그녀는 답변을 게시하지 않았기 때문에 대신이 질문을 답변으로 표시 할 수 있고 저와 같은 문제를 겪을 수있는 다른 초보자에게 유용 할 수 있습니다. .
구분 기호와 사이에 공백을 두어야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다