这个要求有点高啊,呵呵。 可以自己写一个存储过程来实现。具体代码参考如下:CREATE OR REPLACE PROCEDURE FindTable IS DECLARE CURSOR curTableName IS SELECT TABLE_NAME FROM USER_TAB_COLUMNS WHERE COLUMN_NAME='USERID'; sqlStr VARCHAR2(200); res NUMBER(20); BEGIN FOR r IN curTableName LOOP -- 动态SQL语句 sqlStr := 'SELECT COUNT(1) INTO res FROM r.TABLE_NAME WHERE USERID =' || '123'; EXECUTE IMMEDIATE sqlStr; IF res >0 THEN DBMS_OUTPUT.PUT_LINE(r.TABLE_NAME); END IF; END LOOP; END FindTable;仅供参考,代码没有编译执行。
可以自己写一个存储过程来实现。具体代码参考如下:CREATE OR REPLACE PROCEDURE FindTable IS
DECLARE
CURSOR curTableName IS
SELECT TABLE_NAME FROM USER_TAB_COLUMNS WHERE COLUMN_NAME='USERID';
sqlStr VARCHAR2(200);
res NUMBER(20);
BEGIN
FOR r IN curTableName
LOOP
-- 动态SQL语句
sqlStr := 'SELECT COUNT(1) INTO res FROM r.TABLE_NAME WHERE USERID =' || '123';
EXECUTE IMMEDIATE sqlStr;
IF res >0 THEN
DBMS_OUTPUT.PUT_LINE(r.TABLE_NAME);
END IF;
END LOOP;
END FindTable;仅供参考,代码没有编译执行。