MERGE INTO HOSTSCE.DSCHED A USING TABLE ( VALUES('HSC001','1','2','2','2012-03-13')) AS B
(BPRFKAI,BSYSSKB,BOYASCD,BKOSCD,DSCED)
ON (
A.BPRFKAI = B.BPRFKAI
AND A.BSYSSKB = B.BSYSSKB
AND A.BOYASCD = B.BOYASCD
and a.bkoscd=b.bkoscd
AND A.DSCED = B.DSCED
) WHEN MATCHED THEN
UPDATE SET BPRFSYS = 'HOSTSC', BPRFKAI = 'HSC001', BPRFTID = 'HSC002', BPRFNEWUID = 'system01',
DPRFNEWYMD = '2012-03-12 14:41:54.833000', CKDO = '1' ,CTESSHO = '' ,DLASTUPD = CURRENT TIMESTAMP
WHEN NOT MATCHED THEN
INSERT( BPRFSYS, BPRFKAI, BPRFTID, BPRFMAKUID, DPRFMAKYMD, DPRFNEWYMD, CSKJ,
BSYSSKB, BOYASCD, BKOSCD, DSCED, CKDO,
CTESSHO, DLASTUPD, DLASTSND) VALUES(
'HOSTSC', 'HSC001', 'HSC002', 'system01', '2012-03-12 14:41:54.833000','2012-03-12 14:41:54.833000', ' ',
'1', '2', '2', '2012-03-13', '1',
' ', CURRENT TIMESTAMP, '0001-01-01')我想问的是,上面的SQL语红色ON的部分,是不是必须是HOSTSCE.DSCHED所有的主键
(BPRFKAI,BSYSSKB,BOYASCD,BKOSCD,DSCED)
ON (
A.BPRFKAI = B.BPRFKAI
AND A.BSYSSKB = B.BSYSSKB
AND A.BOYASCD = B.BOYASCD
and a.bkoscd=b.bkoscd
AND A.DSCED = B.DSCED
) WHEN MATCHED THEN
UPDATE SET BPRFSYS = 'HOSTSC', BPRFKAI = 'HSC001', BPRFTID = 'HSC002', BPRFNEWUID = 'system01',
DPRFNEWYMD = '2012-03-12 14:41:54.833000', CKDO = '1' ,CTESSHO = '' ,DLASTUPD = CURRENT TIMESTAMP
WHEN NOT MATCHED THEN
INSERT( BPRFSYS, BPRFKAI, BPRFTID, BPRFMAKUID, DPRFMAKYMD, DPRFNEWYMD, CSKJ,
BSYSSKB, BOYASCD, BKOSCD, DSCED, CKDO,
CTESSHO, DLASTUPD, DLASTSND) VALUES(
'HOSTSC', 'HSC001', 'HSC002', 'system01', '2012-03-12 14:41:54.833000','2012-03-12 14:41:54.833000', ' ',
'1', '2', '2', '2012-03-13', '1',
' ', CURRENT TIMESTAMP, '0001-01-01')我想问的是,上面的SQL语红色ON的部分,是不是必须是HOSTSCE.DSCHED所有的主键
解决方案 »
- 求批量增加数据
- 初学者求指导,都进来看看吧。
- sql 文件组理解问题
- 邹健:你好,知道你很忙,不过关于你blog上的一个问题,还是请你指教一下 :-) 媚笑 .----
- 试用一条SQL语句,选取全部科目都在80以上的学生名单。
- [百分请教]学习SQL server有什么好书可看?最好是电子书.
- 在更新一个很大的表时,如果操作没有完成,日志文件已经满了,这时会不会导致更新失败呀,如果是,如何解决?
- 如何修改表中一个字段的属性?
- 请教高手 在sql2005中,sp_fulltext_getdata 这个系统过程的参数是什么.
- 多条相同记录取其中某一字段最小的
- sql sever 2000中用as派生出错
- 尚未注册 OLE DB 访问接口 "MSDASQL ",跨数据库同步数据
如果保留的话,可以执行插入操作