sql server - Stored procedure doesn't return correct value -


i have stored procedure:

alter procedure replacehtmlentities     @companyname  nvarchar(200) begin     set nocount on;      declare @newcompanyname nvarchar(200);      set @newcompanyname = @companyname;     set @newcompanyname = replace(@newcompanyname,'&','&');     set @newcompanyname = replace(@newcompanyname,'"','"');     set @newcompanyname = replace(@newcompanyname,''','''');     select @newcompanyname; end go 

but returns 0:

declare @companyname nvarchar(200), @result nvarchar(200)  set @companyname = n'company name &'  exec    @result = [dbo].[replacehtmlentities] @companyname  select  @result 

@result should 'company name &' gives me '0' - why ?

stored procedure can return integers (ref).

you return output parameter, think should create function:

create function replacehtmlentities     (@companyname  nvarchar(200)) returns nvarchar(200) begin     declare @newcompanyname nvarchar(200);      set @newcompanyname = @companyname;     set @newcompanyname = replace(@newcompanyname,'&','&');     set @newcompanyname = replace(@newcompanyname,'"','"');     set @newcompanyname = replace(@newcompanyname,''','''');      return @newcompanyname; end go 

and how can execute function:

declare @companyname nvarchar(200), @result nvarchar(200) set @companyname = n'company name &'  set @result = [dbo].[replacehtmlentities](@companyname)  select  @result 

Comments