1
我尝试使用下面的函数SQL,错误“不能转换*为int”
alter function [dbo].[verClientUniq](@cid varchar(2))
returns int
begin
declare @nr int
select @nr = count(*)
from Clients
where clientId = @cid;
return @nr
end
当我执行它在我的程序里面,我去查一下我的数据库中的记录是否存在过程“varchar'*'的第8行中的错误不能转换为int。”
这是怎么发生的?如何解决它?
消息245,级别16,状态1,过程verClientUniq,第8行
转换转换VARCHAR值 '*' 为数据类型int时失败。
我打电话的功能是这样的:
exec @isUnique = verClientUniq @cid;
我假设它是sql服务器代码,它在语法上是有效的。什么是确切的错误信息? –
我已经写了确切的错误消息,在将varchar值'*'转换为数据类型int时转换失败。 – Mocktheduck
你的函数至少遗漏了一个'AS',但是你能显示你在存储过程中如何调用这个函数吗? (此外,在哈姆雷特问你之前,你还没有写出确切的错误信息。) –