扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
视图跟原表是联动的,哪有视图资料变更原表不异动的,这种无法直接实现
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的霍邱网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
不过可以相些其他路子,删除操作不要去做视图的delete,而是改为去update 原表布尔列为0
这样也可以达到要求了
要连接oracle首先要安装个oracle的客户端,其它的可以不要,Net Manager必须要有,安装完以后打开Net Manager创建个服务,如下图,比如服务名为 kingd
然后再执行语句:
nHandle=SQLSTRINGCONNECT("DRIVER={Oracle in OraHome92};uid=contant;pwd=contant;server=kingd")
SQLEXE(nHandle,"select * from V_XK","curV_XK")
brow
需要给调用者提供Oracle数据库用户
图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。
视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。
视图中不能使用存储过程。
只能使用简单(单值)的函数;
如果你只是调用package中的函数,应该可以;
否则不可以。
1、直接创建
CREATE MATERIALIZED VIEW MV_NAME
AS
....
2、先创建一个与物化视图同名的表
Step1:
CREATE TABLE MV_NAME
AS
....
Step2:
CREATE MATERIALIZED VIEW MV_NAME
ON PREBUILT TABLE [with reduced precision] -- 这是可选的。当创建时遇到某字段精度报错时使用。
REFRESH FORCE ON DEMAND
START WITH SYSDATE
NEXT TRUNC(SYSDATE+1) + 9/24
AS
....
第一种方式更方便快捷,但缺点是当删除或重建物化视图时,数据将被删除,在某些情况下,这种方式是不可接受的。
第二种方式更符合数据高可用原则,数据更新的衔接性更好,但当修改物化视图时(比如,字段增减),需先对同名表进行修改,操作稍显繁琐。
具体选择哪种方式,需看具体的业务需求。
其他数据库?你的意思是通过DBLINK调用?
函数和过程调用是这样的,比如DBLINK名称是YW,建立这个链接的用户名下有函数或过程名P_TEST(n CHAR),调用:
select p_test@yw('a') from dual;
就这么简单。。。。。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流