您將需要使用動態SQL纔能有數據庫鏈接是可變的。在PL/SQL中,會看起來像
DECLARE
l_sql_stmt varchar2(1000);
l_tmp_space varchar2(1000);
l_database varchar2(100) := <<db link name>>;
BEGIN
l_sql_stmt := 'select ''Total temp space available in ' ||l_database || ' is '' || sum(bytes)/1024/1024 ||'' mb'' from [email protected]' || l_database;
dbms_output.put_line(l_sql_stmt);
EXECUTE IMMEDIATE l_sql_stmt
INTO l_tmp_space;
dbms_output.put_line(l_tmp_space);
END;
基本上,你需要構建一個包含SQL語句的字符串,然後執行動態生成的字符串(這是比較複雜的SQL語句時本身是建立一個像你這樣的字符串 - 這使得找出哪些單引號可以避免一些挑戰)。
但是,根據您在APEX中要做的事情,您可能想要一些與衆不同的東西。例如,如果您嘗試基於此創建報告,則可以從SQL語句或返回SQL語句的函數填充常規(非交互式)報告。如果這就是你想要做的,你想要的東西,如
DECLARE
l_sql_stmt varchar2(1000);
l_tmp_space varchar2(1000);
l_database varchar2(100) := <<db link name>>;
BEGIN
l_sql_stmt := 'select ''Total temp space available in ' ||l_database || ' is '' || sum(bytes)/1024/1024 ||'' mb'' from [email protected]' || l_database;
dbms_output.put_line(l_sql_stmt);
RETURN l_sql_stmt;
END;
忽略我忘記逃跑的事實:數據庫從其餘的提示:P –