CREATE FUNCTION zhuan(
@dmm varchar(20),
@dm varchar(20))
RETURNS varchar(20)
as
begin
declare @mc varchar(20);
if @dm is not null
return (select mc = @mc from dm_mx where dmm = @dmm and dm = @dm)
return @mc
ENDselect dbo.zhuan('1001','0')返回的总是NULL
ff dmm dm mc
1 1001 0 男
@dmm varchar(20),
@dm varchar(20))
RETURNS varchar(20)
as
begin
declare @mc varchar(20);
if @dm is not null
return (select mc = @mc from dm_mx where dmm = @dmm and dm = @dm)
return @mc
ENDselect dbo.zhuan('1001','0')返回的总是NULL
ff dmm dm mc
1 1001 0 男
这样呢?
'=' 附近有语法错误。语法不对
郁闷呀!帮忙呀“!
@dmm varchar(20),
@dm varchar(20))
RETURNS varchar(20)
as
begin
declare @mc varchar(20);
if @dm is not null
select @mc= mc from dm_mx where dmm = @dmm and dm = @dm
return @mc
ENDselect dbo.zhuan('1001','0')create table dm_mx(ff int,dmm varchar(10),dm varchar(10),mc varchar(10))
insert into dm_mx select 1,'1001','0','男'男
go
insert dm_mx select 1,'1001','0','男'
goCREATE FUNCTION zhuan(@dmm varchar(20),@dm varchar(20))
RETURNS varchar(20)
as
begin
declare @mc varchar(20)
if @dm is not null
begin
select @mc=mc from dm_mx where dmm=@dmm and dm=@dm
return @mc
end
return null
END
select dbo.zhuan('1001','0')返回的总是NULL drop table dm_mx
改为 select dbo.zhuan('1001','0') --返回的总是NULL
还有书写要有一定的格式呀?
我写的时候一般都加一个空格
而你好像加了不只一个空格吧
if @dm is not null
select @mc= mc from dm_mx where dmm = @dmm and dm = @dm
我要加上例外那?CREATE FUNCTION zhuan(
@dmm varchar(20),
@dm varchar(20))
RETURNS varchar(20)
as
begin
declare @mc varchar(20);
declare @liwai varchar(30);
set @liwai= '提供的参数数目不足或值不对'
if @dm is not null
select @mc= mc from dm_mx where dmm = @dmm and dm = @dm
END
else
begin
return @liwai
END
return @mc
end消息 156,级别 15,状态 1,过程 zhuan,第 65 行
关键字 'else' 附近有语法错误。
消息 102,级别 15,状态 1,过程 zhuan,第 70 行
'end' 附近有语法错误。
@dmm varchar(20),
@dm varchar(20))
RETURNS varchar(20)
as
begin
declare @mc varchar(20);
if (@dm is not null ) and (@dmm is not null )
begin
select @mc= mc from dm_mx where dmm = @dmm and dm = @dm
return @mc
END
else
begin
return '提供的参数数目不足'
END
return ''
ENDselect dbo.zhuan('1001')
为什么不能返回return '提供的参数数目不足'
???
insert into dm_mx select 1,'1001','0','男'
CREATE FUNCTION zhuan(
@dmm varchar(20),
@dm varchar(20))
RETURNS varchar(20)
as
begin
declare @mc varchar(20);
if (@dm is not null ) and (@dmm is not null )
select @mc= mc from dm_mx where dmm = @dmm and dm = @dm
else
set @mc='提供的参数数目不足'
return @mc
END select dbo.zhuan(null,'0') as '结果'结果提供的参数数目不足