首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在求一条插入话语···

2012-08-13 
在求一条插入语句有三张表产品表(produce)主键是ididproducename1E零件表(part) 主键是ididpartname1A2B产

在求一条插入语句···
有三张表  
产品表(produce)主键是id
 id producename
 1 E
零件表(part) 主键是id
 id partname
 1 A
 2 B

产品关系表(relation) 外键 produceid 对应的是 produce表的id
 produceid producename partname1 number1 partname2 number2
  1 E A 1 B 2

这是说 一个产品E需要1个A和两个B才能生产

现在需要添加产品H 一个H需要 一个零件C和两个零件D才能生产··

插入零件C的时候还需要判断 零件表中是不是存在C··如果存在就不插入,如果不存在,就把数据插入part表

怎么用一条SQL语句就写出来···求大神解答··




[解决办法]

SQL code
if not exists  (select 1 from part where partname ='C')begin    insert into part    select max(id)+1 as ID,'C' from partendif not exists  (select 1 from part where partname ='D')begin    insert into part    select max(id)+1 as ID,'D' from partendinsert into relationselect  id ,producename,'C',1,'D',2from produce where producename = 'H'
[解决办法]
SQL code
if not exists  (select 1 from part where partname ='C')begin    insert into part    select max(id)+1 as ID,'C' from partendif not exists  (select 1 from part where partname ='D')begin    insert into part    select max(id)+1 as ID,'D' from partend--这一部分你插入成功了,下面你分开执行这一句insert into relationselect  id ,producename,'C',1,'D',2from produce where producename = 'H'--这一部分执行有什么提示? 

热点排行