黑马程序员技术交流社区

标题: select查询一条没有记录的值时 返回什么 [打印本页]

作者: 董振海    时间: 2012-10-10 15:45
标题: select查询一条没有记录的值时 返回什么
这是存储过程的一部分
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..
作者: 潘梦军    时间: 2012-10-10 15:56
如果没有的话会是null
作者: 董振海    时间: 2012-10-10 16:09
潘梦军 发表于 2012-10-10 15:56
如果没有的话会是null

我知道 为什么了 if里面应该用 is null 不应该用 = null.......{:3_60:} ~~ 总算解决了  谢谢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2