通过dblink在另一oracle数据库创建SEQUENCE

[复制链接]
查看11 | 回复0 | 2011-1-4 10:26:11 | 显示全部楼层 |阅读模式
两个oracle数据库A,B 通过dblink: @B_TO_A 由B连到A
如果A数据库存在过程
CREATE FUNCTION cux_test IS
l_count NUMBER;
l_sql VARCHAR2(2000);
l_seq VARCHAR2(100);
l_num NUMBER;
BEGIN
l_seq := 'CUX' || '_' || to_char(SYSDATE, 'yymm') || '_S';
SELECT COUNT(1)
INTO l_count
FROM dba_objects
WHERE owner = 'APPS'
AND object_type = 'SEQUENCE'
AND object_name = l_seq
AND rownum = 1;
IF l_count = 0 THEN
l_sql := 'CREATE SEQUENCE ' || l_seq || ' NOCACHE';
EXECUTE IMMEDIATE l_sql;
END IF;
l_sql := 'SELECT ' || l_seq || '.NEXTVAL FROM DUAL';
EXECUTE IMMEDIATE l_sql
INTO l_num;
RETURN l_num;
EXCEPTION
WHEN OTHERS THEN
RETURN NULL;
END;
在数据库B中执行
DECLARE
l_num NUMBER;
BEGIN
l_num := cux_test@B_TO_A ;
dbms_output.put_line(l_num);
END;
没有结果, 因为 'CUX' || '_' || to_char(SYSDATE, 'yymm') || '_S' 序列创建失败, 请问各位高手该如何解决问题在B数据库环境中为A创建序列?
[ 本帖最后由 gr123321 于 2009-8-12 11:15 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行