1. 如何实现多个SQL数据库同样结构的表同步更新!
通过触发器可以实现:
create trigger test on 数据库名版权A.表c
insert,delete,update
as
begin
insert into 数据库名B.表d select ....from 数据库名A.表c
update....
delete ....
2. oracle 中 同时修改一个数据库中多个表里面的同一字段的长度
比如你要修改id长度是52
declare
v_sql varchar2(1000);
cursor cr is
select table_name from user_tab_columns where column_name = 'ID';
begin
for r in cr loop
v_sql := 'alter table '||r.table_name||' modify ID VARCHAR2(52)';
execute immediate v_sql;
end loop;
end;
3. 如何在修改数据库其中一个表的时候会同时修改另外一个表数据
写个触发器就可以实现,每次往表2新增数据时,都会触发修改表1的数据,下面是oracle触发回器,你可以答参照下:
create or replace trigger trigger_test after insert
on 表2 for each row
declare
integrity_error exception;
errno integer;
errmsg char(200);
mmy integer;
found boolean;
begin
if inserting then
update 表1 set Quantity = (select sum(QuantityOfOne) from 表2 where id =:NEW.id);
end if;
exception
when integrity_error then
raise_application_error(errno, errmsg);
end;
4. 多用户对数据库同一条数据修改如何防止并发导致错误
我们以前的做法是在进行操作前都重新读一下数据 如果返回null 说明已经被删除了 提示即可 返回不为null的话 就看一个字段 修改时间 如何和上一次读的不一样就说明被操作了 就不能操作数据