-1
以下SP返回以下錯誤: 將varchar值「AR118」轉換爲數據類型int時轉換失敗。將varchar值「AR118」轉換爲數據類型int時出現轉換失敗int
不知道是怎麼回事,在底部的測試SP調用它...
ALTER PROCEDURE [DBO]。[pa_ProyectoIngresar]
@IDUsuario varchar(20),
@CodigoPais char(2),
@Nombre varchar(255),
@Alias char(25),
@Sector char(3),
@AporteFonPlata decimal(9),
@AporteLocal decimal(9),
@IDResponsable varchar(20),
@Reembolsable char(1),
@NoProyecto char(5) OUT
AS
BEGIN
SET NOCOUNT ON;
declare @Fecha datetime
declare @No int
set @No = 0
set @Fecha = GetUtcDate()
set @NoProyecto = ''
Select @NoProyecto = max(NoProyecto) from Proyectos WHERE Substring(NoProyecto,1,2) = @CodigoPais
if @NoProyecto is NULL
BEGIN
SET @NoProyecto = @CodigoPais + '101'
END
else
begin
set @No = CAST(SUBSTRING(@NoProyecto, 3, 3) as int) + 1
set @NoProyecto = @CodigoPais + RIGHT('000' + CAST(@No AS Varchar(3)), 3)
end
Insert Into Proyectos
(
NoProyecto, Estado, FechaEstado, HoraEstado, Nombre, Alias, Sector,
AporteFonPlata, AporteLocal, AporteOtros,
AprobacionEstimada, AprobacionProbabilidad, IDResponsable,
FechaAbstracto, EstadoAbstracto, FechaPerfil, EstadoPerfil,
FechaPOperativa, EstadoPOperativa, FechaNegociacion, EstadoNegociacion,
FechaAprobacion, EstadoAprobacion, Reembolsable,
Objetivo, Componentes, Beneficiarios, Ubicacion, NoResolucion,
IDingresado, FechaIngresado, IDModificado, FechaModificado
)
VALUES (
@NoProyecto, 'INA', @Fecha, '', @Nombre, @Alias, @Sector,
@AporteFonPlata, @AporteLocal, 0, 0, '', @IDResponsable,
@Fecha, 'N', @Fecha, 'N', @Fecha, 'N', @Fecha, 'N', @Fecha, 'N',
@Reembolsable, '', '', '', '', '',
@IDUsuario, @Fecha, @IDUsuario, @Fecha
)
if scope_identity() is NULL
begin
set @NoProyecto = ''
end
return @NoProyecto
END
測試SP
declare @IDUsuario varchar(20)
declare @CodigoPais char(2)
declare @Nombre varchar(255)
declare @Alias char(25)
declare @Sector char(3)
declare @AporteFonplata decimal(9,0)
declare @AporteLocal decimal(9,0)
declare @Reembolsable char(1)
declare @IDResponsable varchar(20)
declare @NoProyecto char(5)
set @IDUsuario = 'TRESPONSABLE'
set @CodigoPais = 'AR'
set @Nombre = 'Ingreso Nuevo Proyecto'
set @Alias = 'NUEVO'
set @Sector = 'SOC'
set @AporteFonplata = 25000000
set @AporteLocal = 5000000
set @Reembolsable = 'S'
set @IDresponsable = 'TRESPONSABLE'
set @NoProyecto = ''
EXEC PA_ProyectoIngresar @IDUsuario, @CodigoPais, @Nombre, @Alias, @Sector, @AporteFonplata, @AporteLocal, @IDresponsable, @Reembolsable, @NoProyecto
線索是在你的代碼試圖AR118''字符串轉換''成int值的錯誤消息,因爲它有構成特徵'AR'不能被轉換成int是不可能的。 –
這是我的問題,我無法找到SP試圖從char到int的轉換,我忽略了什麼? – user3238418
表Proyectos中'NoProyecto'列的數據類型是什麼。 –