CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

请问一条操作表语句,谢谢高手了

楼主dinoLgrace(淡泊以明志,宁静而致远)2006-07-04 09:42:31 在 MS-SQL Server / 基础类 提问

现在我要把a(q,w)字段的数据复制到已经存在的表b(q,w,e)字段去,注意,b表比a表多了一个e字段,  
  怎么写sql语句呢,谢谢 问题点数:20、回复次数:8Top

1 楼yuvotesyg518(青出于蓝)回复于 2006-07-04 09:55:22 得分 0

直接写SQL语句吗?  
   
  那我所能做的只是关注,呵呵!Top

2 楼playwarcraft(时间就像乳沟,挤挤还是有的)回复于 2006-07-04 09:59:07 得分 0

不一樣嗎?  
  insert   into   b(q,w)  
  select   q   ,w   from   aTop

3 楼dinoLgrace(淡泊以明志,宁静而致远)回复于 2006-07-04 09:59:29 得分 0

我现在要多一个条件的,就是我点击一个按钮的时候把a表数据复制到b表中去的时候同时会在b表的e字段中加上我要加的数字,b表中的字段数据可以重复的,只要不是q和e数据同时相等就可以重复插入,怎么写呢,谢谢Top

4 楼playwarcraft(时间就像乳沟,挤挤还是有的)回复于 2006-07-04 10:25:41 得分 0

不好意思,不是很明白你的意思,  
  你想加數字,可以直接加select後面啊,比如加個e=3  
  insert   into   b(q,w,e)  
  select   q,w,3   from   a   where   not   exists   (select   1   from   b   where   a.q=b.q   and   b.e=3)Top

5 楼dinoLgrace(淡泊以明志,宁静而致远)回复于 2006-07-04 10:48:04 得分 0

你好,playwarcraft()   ,我其实在做一个医院的ID卡管理系统,点击一个按钮的时候把原表a的数据全部复制到b表中去,并且同时在b表的字段e上面插入我在界面上输入的号码,b表中的q和e是不能为空的,就是一个名字对应多张卡,卡号e可以重复,请问明白了吗?  
  还有,我对where   not   exists   (select   1   from   b   where   a.q=b.q   and   b.e=3)不是很清楚,能讲下吗,谢谢Top

6 楼playwarcraft(时间就像乳沟,挤挤还是有的)回复于 2006-07-04 11:11:51 得分 20

喔,建一個procedure,把輸入的數字傳進去,  
  試試看,把a的資料插入到b中去,並且當a的q和輸入的e在b中已經存在的話,將不插入此筆紀錄.  
  IF   EXISTS   (SELECT   name   FROM   sysobjects    
                    WHERE   name   =   'sp_hospital'   AND   type   =   'P')  
        DROP   PROCEDURE   sp_hospital  
  GO  
  CREATE   PROCEDURE   [dbo].[sp_hospital]  
  @num   int  
  as    
  declare   @sql   varchar(1000)  
  set   @sql='insert   into   b(q,w,e)   select   q,w,'+Rtrim(convert(char(10),@num))+'   from   a    
                      where   not   exists   (select   1   from   b   where   a.q=b.q   and   b.e='+Rtrim(convert  
                      (char(10),@num))+')'  
  exec   (@sql)  
  Top

7 楼dinoLgrace(淡泊以明志,宁静而致远)回复于 2006-07-04 11:27:43 得分 0

你好,我的问题解决了,请问怎么在数据库后台那里约束當a的q和輸入的e在b中已經存在的話,將不插入此筆紀錄呢?我对那些存储过程不熟悉啊,谢谢你了Top

8 楼78984598(贺鑫)回复于 2006-07-04 12:02:31 得分 0

insert   into   b(q,w)   select   q,w   from   a.q!=b.eTop

相关问题

关键词

得分解答快速导航

  • 帖主:dinoLgrace
  • playwarcraft

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo