请教一条SQL修改添加语句 - MS-SQL Server / 应用实例
有两个表T1和T2,
T1如下:
编号 姓名 性别 部门
001 ZZ 男 业务部
002 YY 女 经销部
003 XX 女 生产部
004 WW 男 销售部
005 ……
T2如下:
编号 姓名 部门
001 ZZ 男 业务部
(无记录)
003 XX 女 销售部(不同)
005 ……
我想对比两个表中的编号,
找出T2中空缺的编号将T1的内容加上,已有的编号对应选项对比内容,如更改则T2也更改
就是跟着T1的标准走,请教大家怎么实现,谢谢!
是要触发器吗?
如果是一锤子买卖,则如下:
SQL code:
--1.update
update t2
set 姓名 = t1.姓名 ,
部门 = t1.部门
from t2 , t1
where t2.编号 = t1.编号
--2.insert
insert into t2 select 编号, 姓名 ,部门 from t2 where t2.编号 not in (select 编号 from t1)
SQL code:
if not exists(select 1 from t1 inner join t2 where t1.编号 = t2.编号)
insert into t2(编号,姓名,性别,部门) select 编号,姓名,性别,部门 from t1
else
update t1 set 部门 = t2.部门 from t2 where t1.编号 = t2.编号
-- 只是一次性的,如果一直要这样,要做触发器
我是用VC++6.0编的,就想每次按键执行一次这功能
SQL code
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.C
相关问答:
1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......
需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
通过NAME字段条件查询一个数据表,假设我有100个姓名,有以下两个方法,
方法1:
把100个Name 组成一个SQL语句,比如 Select * from tmp_table where Name='张三' or Name ='李四' Or ...Or Name='第一百个姓名'
......
在Access的查询中执行下面的语句,无效,提示期待select ,updata ,...
CreateTble C=Answer N="回帖表"
(
C=ID T="INTEGER" P=No M=No N="编号" Z=false,
C=Ques ......
执行数据库操作时,直接用SQL 语句好一些 还是用存储过程更佳呢?
各抒起见
这个的具体问题具体分析
简单的select 、update和insert当然sql解决了
复杂的放在sql服务端应该好点
楼主请参阅
http://msdn.micr ......