databasename이 동적이고 where 절에서 가져온 프로 시저를 작성하려고합니다.동적 커서 및 WHERE 절 Teradata
CREATE PROCEDURE Test
(IN DBName VARCHAR(100), OUT RowCount DEC(10,2))
BEGIN
DECLARE SqlStr VARCHAR(1000);
DECLARE C1 CURSOR FOR S1;
SET SqlStr = 'SELECT count(*) FROM '|| DBNAME || '.MyTable ';
PREPARE S1 FROM SqlStr;
OPEN C1 USING DBName;
FETCH C1 INTO RowCount;
CLOSE C1;
END;
내가 지금 같은 것을 추가해야합니다 :
WHERE DBName = (SELECT 'firstpart||EnvName||' FROM EnvTable
WHERE EnvName = (SELECT EnvName FROM EnvTable WHERE Flag = 1 AND Priority = (SELECT MIN(Priority) FROM EnvTable))
어떤 아이디어를 지금까지 나는이 가지고있다? 프로 시저를 호출 할 때 추가 할 수 있습니까? 그냥이 더 동적으로 만들 수있는 변수를 필요로 같은
[저장 프로 시저에서 동적 SQL] (http://www.info.teradata.com/htmlpubs/DB_TTU_14_00/index.html#page/SQL_Reference/B035_1141_111A/ch03.105.042.html)을 원하십니까? – Andrew