3
我想從具有給定LIKE名稱的每個模式的DATABASECHANGELOGLOCK表中選擇行。即... LIKE'myschemaprefix%';從每個模式中的表中選擇行
我希望除UNION以外的東西,因爲我有大量的用戶。
SELECT 'MySchema1' as SCHEMA_NAME, LOCKED, LOCKGRANTED, LOCKEDBY FROM MySchema1.DATABASECHANGELOGLOCK
UNION
SELECT 'MySchema2' as SCHEMA_NAME, LOCKED, LOCKGRANTED, LOCKEDBY FROM MySchema1.DATABASECHANGELOGLOCK;
我用程序攻擊了這個問題,以捕獲我所有模式的名字。
SET serveroutput ON
BEGIN
FOR item IN (
SELECT USERNAME FROM dba_users WHERE USERNAME LIKE 'MySchemaPrefix%'
) LOOP
DBMS_OUTPUT.PUT_LINE
(item.username||'.DATABASECHANGELOGLOCK');
END LOOP;
END;
/
我需要的是在循環內使用輸出值來抓取任何行的地方,其中LOCKED = 1;
想法?