oracle dblink 如何删除视图

木木OL 2013-09-27 02:17:33
CREATE VIEW TEST_V AS
SELECT
utl_raw.cast_to_raw(DJ_NSRXX.NSRMC) nsrmc
FROM
DJ_NSRXX@LANDTAXDBLINK

drop view TEST_V@landtaxdblink 删除会提示
...全文
184 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiyiwan 2013-09-27
  • 打赏
  • 举报
回复
DECLARE FLAG NUMBER;
BEGIN
SELECT COUNT(1) INTO FLAG FROM user_views@LANDTAXDBLINK s WHERE s.view_name = 'yourViewName';
IF FLAG = 1 THEN 
   dbms_utility.exec_ddl_statement@LANDTAXDBLINK('drop VIEW yourViewName');
END IF;
END;
  • 打赏
  • 举报
回复
引用 4 楼 phstarwd12 的回复:
如果视图不存在呢?存在就删除,不存在就不删除了
先select count(nvl())到一个变量判断一下存在不存在
无敌小二傻 2013-09-27
  • 打赏
  • 举报
回复
引用 3 楼 shiyiwan 的回复:
如果这个视图在别的数据库里,为什么它的代码是 SELECT utl_raw.cast_to_raw(DJ_NSRXX.NSRMC) nsrmc FROM DJ_NSRXX@LANDTAXDBLINK ? 如果确定这个视图在其他数据库,可以使用如下语句: BEGIN dbms_utility.exec_ddl_statement@LANDTAXDBLINK('drop VIEW TEST_V'); END;
+1
木木OL 2013-09-27
  • 打赏
  • 举报
回复
如果视图不存在呢?存在就删除,不存在就不删除了
shiyiwan 2013-09-27
  • 打赏
  • 举报
回复
如果这个视图在别的数据库里,为什么它的代码是 SELECT utl_raw.cast_to_raw(DJ_NSRXX.NSRMC) nsrmc FROM DJ_NSRXX@LANDTAXDBLINK ? 如果确定这个视图在其他数据库,可以使用如下语句: BEGIN dbms_utility.exec_ddl_statement@LANDTAXDBLINK('drop VIEW TEST_V'); END;
木木OL 2013-09-27
  • 打赏
  • 举报
回复
远程数据库啊,这个视图在别的数据库里面
shiyiwan 2013-09-27
  • 打赏
  • 举报
回复
drop view TEST_V;

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧