A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董振海 中级黑马   /  2012-10-10 15:45  /  1501 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是存储过程的一部分
ALTER PROCEDURE [dbo].[proc_InsertVideoUpLoad]
        @VideoName varchar(200),
        @VideoContent text,
        @VideoImage varchar(200)

AS
declare @id int
select @id=VideoID from VideoUpLoad where VideoName=@VideoName;
   if(@id=null)
   begin
           INSERT INTO [dbo].[VideoUpLoad] (
                        [VideoName],
                        [VideoContent],
                        [VideoImage]
                ) VALUES (
                        @VideoName,
                        @VideoContent,
                        @VideoImage
                       
                )select @@identity
   end
   else
   begin
     select -1
   end
插入前先查询 如果该条记录存在 那么则不执行插入;现在不管怎么样 都不走insert 语句....应该是@id的值的问题;
如果 'select @id=VideoID from VideoUpLoad where VideoName=@VideoName;' 执行后 没有该条记录 那么 @id的值 应该是什么  我试了  好像不是null..

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
如果没有的话会是null

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
潘梦军 发表于 2012-10-10 15:56
如果没有的话会是null

我知道 为什么了 if里面应该用 is null 不应该用 = null.......{:3_60:} ~~ 总算解决了  谢谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马