1. sql 同一個表裡的兩個值怎麼同步,或者關聯
資料庫欄位設計,有個地方填寫默認值的,你在CID的欄位設計那裡,填寫為cate_id,以後再來就有值了。
如果是改現在的,就在查詢分析器裡面,執行語句
update 表名 set cid= cate_id
這樣,CID的值,就全部轉變為cate_id了,執行前建議備份下這個表,因為執行了,就不能還原了
2. 在SQL中 如何實現不同資料庫的兩張表的同步
你可以分三個來寫,分別用來監視insert\delete\update三個(這樣寫容易完成),我下面寫一個,你其它有可以參照下面這個來寫
--插入行的情況
CREATE TRIGGER [填入觸發器名] ON [dbo].[表名]
FOR INSERT
AS
insert [另外一個資料庫名].[dbo].[表名] select * from inserted
你也可以參照料我下面這段,寫在一起,但比較麻煩,我就不具體按你要求的寫了羅.
CREATE trigger [資料庫A.tr_user] on [user]
/* 觸發器 在資料庫A的user表建立一個名字tr_user的觸發器 */
for update,insert,delete
/*監視 修改 插入 刪除*/
as
if not exists (select * from deleted)
/* 如果deleted表為空,那麼 */
insert 資料庫B..[user](username,userpass,landtime) select username,password,lastlogin from inserted
/* 將inserted表(就是對於觸發器來說剛剛被插入的集合)插入到B.user */
else if not exists (select * from inserted)--刪除
/* 否則 如果 inserted集合為空 */
delete 資料庫B..[user] where id in (select userid from deleted)
/* 那麼刪除B.user下id是deleted集合中出現的id 這里用了in */
else--更新
update [user]
set
[user].username=i.username,
[user].userpass=i.password
from 資料庫B..[user] as [user],
inserted as i
where [user].id=i.userid
/* update就很明顯了,凡是updated的都來更新,保持一樣就可以了 */
alter table 資料庫B..[user] ENABLE TRIGGER [資料庫B.tr_user]
3. 怎麼用SQL語句同步兩個表中的欄位值
SQL語句同步兩個表中的欄位值需要用觸發器來實現。
如有兩張表——A表和B表,創建觸發器使當A表插入數據後B表也同步插入數據。其中B表插入數據的欄位需要同A表中的欄位相對應。
CREATE TRIGGER 觸發器名稱
ON A表
AFTER INSERT
AS BEGIN INSERT INTO
B表(B表欄位1,B表欄位2,B表欄位3)
SELECT A表欄位1,A表欄位2,A表欄位3
FROM INSERTED
END
4. sql如何將兩個表裡的數據同步
可以通過sql觸發器來實現。
例下列觸發器代碼 :
createtriggertri_kszb_insert
onygpx_kszb--操作的表名
forinsert--給表插入一條數據的時候觸發
as
declare@kssjdatetime
declare@sqbhchar(40)
select@kssj=kssj,@sqbh=sqbhfrominserted--把插入的數據的保存到變數
insertintoygpx_kszb2values(@kssj,@sqbh)--同步插入到另一表
以上觸發器可以實現,在表ygpx_kszb中插入數據,同步插入到表ygpx_kszb2 。
觸發器還可以針對表的insert,delete, update 操作時安裝要求執行數據同步的操作,即可實現兩個表裡的數據同步。
5. SQL中如何實現兩個不同資料庫的用戶表實時同步
這個只能用觸發器來做了,去搜索一下sql server 觸發器的相關操作。
6. sql如何將兩個表裡的數據同步
使用 merge into。
7. SQL如何將兩個不同資料庫同一張表的數據同步更新
如果在一個伺服器上,可以用語句實現。
insert
into
database1.dbo.table1(a1,a2)
select
b1,b2
from
database2.dbo.table2
若在不同伺服器上,可以用資料庫的導出功能。
8. SQL用觸發器如何實現兩個表在兩個資料庫之間雙向同步,可以舉個例子給
create TRIGGER [dbo].[tr_tb_erp_make_Pack_insert]
ON [dbo].[tb_erp_make_Pack]
FOR INSERT
AS
BEGIN
SET XACT_ABORT ON
SET NOCOUNT ON
declare @out_Flag int=0
declare @out_Rtn varchar(40)=''
declare @smsg nvarchar(400)
DECLARE @v_barCode VARCHAR(20)
DECLARE @v_cInvCode NVARCHAR(20)
DECLARE @v_packID INT
DECLARE @v_packDate DATETIME
DECLARE @v_userID INT
begin tran
DECLARE Cur CURSOR FOR
SELECT barCode,cInvCode,packID,packDate,userID FROM inserted
OPEN Cur
FETCH NEXT FROM Cur INTO @v_barCode,@v_cInvCode,@v_packID,@v_packDate,@v_userID
WHILE @@FETCH_STATUS=0
BEGIN
SET @out_Flag = 0
SET @out_Rtn='添加成功!'
IF EXISTS(SELECT 1 FROM tb_erp_make_barCode WHERE barCode=@v_barCode)
BEGIN
UPDATE dbo.tb_erp_make_barCode SET cInvCode=@v_cInvCode,packID=@v_packID,packDate=@v_packDate,vFlag=0 WHERE barCode=@v_barCode
IF @@error <> 0
BEGIN
SET @out_Flag=1
SET @out_Rtn='觸發器修改(UPDATE)錯誤!'
SET @smsg='錯誤:'+@out_Rtn
ROLLBACK TRAN
RAISERROR (@smsg,11,1)
RETURN
END
END
ELSE
BEGIN
INSERT INTO dbo.tb_erp_make_barCode
(
barCode ,packID ,packDate ,cInvCode
)
VALUES (
@v_barCode ,@v_packID ,GETDATE() ,@v_cInvCode
)
IF @@error <> 0
BEGIN
SET @out_Flag=2
SET @out_Rtn='觸發器新增(INSERT)錯誤!'
SET @smsg='錯誤:'+@out_Rtn
ROLLBACK TRAN
RAISERROR (@smsg,11,1)
RETURN
END
END
FETCH NEXT FROM Cur INTO @v_barCode,@v_cInvCode,@v_packID,@v_packDate,@v_userID
END
CLOSE Cur
DEALLOCATE Cur
COMMIT TRAN
RETURN
END
9. SQL 如何使兩張表同步
begin
for ind in (select distinct id
from A
where biao=0)
loop
insert into B values(ind.id,0);
update A
set biao=0
where id = ind.id;
commit;
end loop;
end;
/
10. sql如何實現對兩張表的同步操作
用觸發器。或者用存儲過程。當你A表那個欄位更新成功的時候B表那個欄位也同時更新。