1- da este error:
Servidor: mensaje 245, nivel 16, estado 1, procedimiento
p_existe_cuenta, línea 13
Error de sintaxis al convertir el valor varchar 'select
cuenta from cliente where cuenta = ' para una columna de
tipo de datos int.
2- para recibir un valor del sql, pongo esto:
execute @Cuenta = sp_executesql @sql
pero no funciona, como es?
les envio el sp:
CREATE PROCEDURE p_existe_cuenta
@Tabla as varchar(50),
@Campo as varchar(50),
@ValorCampo as integer
AS
if @Tabla is null or @Campo is null or @ValorCampo is null
return (1)
declare @Cuenta as integer
declare @Sql as nvarchar(200)
set @sql = 'select ' + @Campo + ' from ' + @Tabla + '
where ' + @Campo + ' = ' + @ValorCampo
execute @cuenta = sp_executesql @sql
if @Cuenta = @ValorCampo
return (1)
else
return (0)
GO
CAST(@ValorCampo as varchar(20))
2) El valor @cuenta no recibirá el resultado de la
consulta, solo si se se ejecutó correctamente (0) o no
(diferente de 0).
Saludos,
Ulises
>-----Mensaje original-----
con cast: asunto solucionado
por lo del retorno de un valor, como puedo hacer, existe
otra forma de verificar si una cuenta existe, con esta
forma de armar el sql?
muchas gracias
>-----Mensaje original-----
>.
>
El store sp_executesql, tiene una forma especial para
regresar valores obtenidos o parametros enviados en la
cadena SQL ejecutada:
Vea este ejemplo:
DECLARE @SQLString NVARCHAR(100), @count INT
SET @SQLString = N'SELECT @count = COUNT
(fi_ParameterListID) FROM PARAMETER_LIST WHERE
fi_ParameterListID = ' + CONVERT(VARCHAR,
@fi_ContestListImpresora) + ' AND fc_ParameterListStatus
= 1'
EXEC sp_executesql @SQLString, N'@count int OUTPUT',
@count = @MyCount OUTPUT
IF @MyCount = 0
BEGIN
.............CODIGO SQL ..............
CREATE PROCEDURE p_existe_cuenta
@Tabla as varchar(50),
@Campo as varchar(50),
@ValorCampo as integer,
@Resultado integer OUTPUT
AS
--- codigo del sproc, asignar a @Resultado el valor deseado
GO
Luego lo usas así:
DECLARE @v integer
EXEC p_existe_cuenta 'tabla', 'campo', 12, @v OUTPUT
--
Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
--
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
--
"daniel" <anon...@discussions.microsoft.com> wrote in message
news:5a4401c4814b$cbf0c220$a501...@phx.gbl...