最近做了一个小平台,整合两个系统,用户登录平台后,然后将用户名和密码存放到session中,然后读取session中的用户名和密码就可在平台中不用登录直接进入其他系统。两个系统用的是不同的用户表,用户在一个系统改了密码后,在平台中进入其他系统会出现密码错误,为了让数据及时更新,所以用数据库触发器让两表同步更新。
下面用oracle数据库进行测试,假设使用这两个表,主表T_TEST,副表T_TEST_1。
需求:只需改动主表,副表即可自动改变。
条件:
1.两个表能建立DB LINK,即两个数据库所在的服务器能互相ping通。
2.两个表字段类型必须完全匹配,不能主表某字段能插入字符,而副表对应的某字段只能插入数字,不能主表字段插入的长度超过副表对应字段的最大长度。
下面开始:
1.建立DB LINK,首先判断登录的用户是否有创建DB LINK 的权限,执行以下语句:
-- 查看 XX 用户是否有创建DB LINK 权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='XX';</