CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

50分求助insert,update时保持数据一致性的问题,急!

楼主zchengdw(zcheng)2005-04-03 18:56:25 在 MS-SQL Server / 应用实例 提问

表的内容:name:graduationdesign  
  ThemeID         int       identity(0,1)  
  Chapter                 tinyint   ,  
  Sections               tinyint,  
  Type                       char(10),  
  Difficulty           char(10),  
  BlankCount           tinyint,  
  Mark                       tinyint,  
  PitchedOnTime     tinyint,  
  ThemeContent       text,  
  BeGraphic             bit,  
  GraphicsFile       image  
  我在这个表中建了一个选题系统的大体表  
  其中BeGraphic字段   表示该题有无图(1有,0无)  
          GraphicsFile字段存图  
  二者都可以为空  
  但我想在insert         和       update时      
  1.如果用户把BeGraphic置为1   那么GraphicsFile不能为空    
  2.       如果用户把BeGraphic置为0   那么GraphicsFile必须为空    
  3.GraphicsFile为空时     BeGraphic必须置为0  
  4.GraphicsFile不为空时     BeGraphic必须置为1  
  请问如何写个存储过程或者触发器来实现对用户输入以上情况时作相应的控制啊    
  问题点数:50、回复次数:4Top

1 楼skeeterLa(英俊的大米虫)回复于 2005-04-03 19:12:50 得分 10

程序中可以控制。Top

2 楼zchengdw(zcheng)回复于 2005-04-03 19:20:53 得分 0

我是写好存储过程然后让程序开发调用的    
  他只负责调用和参数传递Top

3 楼skeeterLa(英俊的大米虫)回复于 2005-04-03 19:24:04 得分 40

CREATE   PROCEDURE   dbo.saveUP_graduationdesign  
  @ThemeID         int       identity(0,1)  
  @Chapter                 tinyint   ,  
  @Sections               tinyint,  
  @Type                       char(10),  
  @Difficulty           char(10),  
  @BlankCount           tinyint,  
  @Mark                       tinyint,  
  @PitchedOnTime     tinyint,  
  @ThemeContent       text,  
  @BeGraphic             bit,  
  @GraphicsFile       image,  
  @tag                         bit                     -----判断是insert   还是update  
   
  declare   @Etag   bit  
  set   @etag=1  
     
   
      if     @BeGraphic=1      
          begin      
                if   @GraphicsFile   is   null    
                  begin  
                          set   @etag=0  
                  end    
          end  
        else  
      begin  
            if     @GraphicsFile   is   not   null  
                begin  
                                  set   @etag=0  
                end      
             
      end  
  ……………  
  end  
  if   @etag=1   then  
        -----执行   update   或   insert    
  else  
  begin  
      --------返回参数   提示用户输入不符合条件      
  end  
  Top

4 楼zchengdw(zcheng)回复于 2005-04-06 11:05:57 得分 0

多谢楼上啊       辛苦了  
  Top

相关问题

  • 数据的一致性!!!
  • 怎样保证数据的一致性?
  • 数据库的一致性问题
  • 请教:access中的数据一致性.
  • 数据一致性的问题
  • 在DataReport中的数据一致性问题
  • 关于数据一致性的问题?外键???
  • 在vfp中实现数据的一致性遇到问题,急
  • 关于数据一致性问题(关于sybase)
  • ado中数据库的一致性问题

关键词

  • 用户
  • begraphic
  • graphicsfile
  • tinyint
  • insert
  • update
  • char

得分解答快速导航

  • 帖主:zchengdw
  • skeeterLa
  • skeeterLa

相关链接

  • SQL Server类图书

广告也精彩

反馈

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