易截截图软件、单文件、免安装、纯绿色、仅160KB

求条SQL语句 - .NET技术 / C#

就是我如何在数据库里插入一条带子查询的语句,说明下我创建的是两个表分别为A,B其中B的B3是外键和A的A1相连接,A的A1为A表的主键而B的B1也是B表主键...我想问如何插入才不会出错呢..

顺便请各位看下我插入的时候数据库的提示:

数据库语句:
insert into B(B3) select A.A1 from A;

错误消息:
消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'B1',表 'C.dbo.B';列不允许有空值。INSERT 失败。
语句已终止。
可能是A1 所对应的B1 为空。 B1中的数据比A1少吧

引用
可能是A1 所对应的B1 为空。 B1中的数据比A1少吧

不是..说下我的情况是当我正常插入数据时候insert into B(B1,B2,B3) values ('2','3',select njb.njid from njb);
数据库就会提示:
消息 156,级别 15,状态 1,第 1 行
关键字 'select' 附近有语法错误。
消息 102,级别 15,状态 1,第 1 行
')' 附近有语法错误。

路过,帮顶!

楼主这条插入语句好像存在逻辑错误,select子句的查询结果是一个记录集,不应该赋给一个字段
用以下方法验证
declare @x varchar(20)
select @x=a1 from a
insert into b values('b001','sycc',@x)
即使插入成功了也是将记录集的最后一个字段值赋给b3
如果楼主想要实现如果在A表中不存在相应的主键,那么在B表中就不能插入相应的记录,可以考虑用触发器实现,至于用这种子查询的方法插入我想不出来怎么实现,所以和楼主一起等待高手出现……

说的不对的地方请大家纠正

SQL code



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.


相关问答:

C# DataSet导出xml 批处理(循环)得怎么处理

DataSet导出xml 批处理(循环)得怎么处理
XML文件
<A>
      <B>
        <C>
        </C>
  &nb ......

sql小小的疑问 - .NET技术 / C#

可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......

c#生成xml文件 - .NET技术 / C#

思路:要用c#生成一个播放机的播放列表的xml,例如:
<daty datys='2010-04-05' datye='2010-05-01' > //这是播放的日期段
  <time times='01:12:00' timee='02:30:00'> ......

SQL语句问题 - MS-SQL Server / 疑难问题

请教高手:
 以下是数据库中的三条记录,英文为字段名称  
  id planname TaskBeginTime Status
329 2010年03 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号