질답 게시판에 올라온 아래 답변이 있어서 직접 해보았지만, 되지 않네요.
CREATE PROCEDURE DYNAMIC_TABLE_NAME (
TABLENAME VARCHAR(30),
INTIDXNUM INTEGER,
STR_PASS VARCHAR(20)
) RETURNS (
IDX_NUM INTEGER
) AS
DECLARE VARIABLE SQL_QUERY VARCHAR(1024);
BEGIN
SQL_Query = 'SELECT idx_num FROM '||TABLENAME||' WHERE strPass = '||STR_PASS||' AND idx_num = '||INTIDXNUM;
EXECUTE STATEMENT SQL_Query INTO :IDX_NUM;
END
답변에는 파이어버드에서 가능하다는 답변과 IB에서는 확인 못 했다는 내용도 있지만
제가 테스트해 본 결과 두군데에서 모두 실행이 되지 않습니다.
에러 메시지는 다음과 같이 나옵니다.
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 13, char 7.
STATEMENT.
테스트는 IB7.5, 파이어버드1.0 입니다.
아시는분 계시면 답변 부탁드립니다.
|