Ich habe die folgende gespeicherte Prozedur:Stored Procedure Eingangsparameter Validierung
CREATE procedure usp_insert_abm_tctrol_ch
(@cod_suc numeric(3),
@id_bco numeric(3),
@cod_banco numeric(3),
@nro_cta VARCHAR(15),
@fec_activa SMALLDATETIME,
@fec_inactiva SMALLDATETIME,
@nro_ch_desde numeric(9),
@nro_ch_hasta numeric(9),
@ult_nro_ch numeric(9),
@sn_ch_inicio numeric(3),
@tipo_chequera VARCHAR(2),
@sn_estadoi_ch INT,
@sn_estadof_ch INT)
as
begin
declare @error varchar(500)
begin try
begin tran
set @error = ''
set @error = 'hubo un error'
if @error <> ''
begin
RAISERROR(@Error, 16, 10)
end
insert into tctrol_ch (cod_suc, id_bco, cod_banco, nro_cta, fec_activa, fec_inactiva, nro_ch_desde, nro_ch_hasta, ult_nro_ch, sn_ch_inicio, tipo_chequera, sn_estadoi_ch, sn_estadof_ch)
select
@cod_suc, @id_bco, @cod_banco, @nro_cta, @fec_activa,
@fec_inactiva, @nro_ch_desde, @nro_ch_hasta, @ult_nro_ch,
@sn_ch_inicio, @tipo_chequera, @sn_estadoi_ch, @sn_estadof_ch
commit tran
end try
begin catch
rollback tran
declare @Err varchar(max)
set @Err = ERROR_MESSAGE()
RAISERROR(@Err , 16, 10)
end catch
Ich möchte bestätigen, dass die @nro_cta
(Nummer Konto) gehört zu der aktuellen Bank (@id_bco
). Wie kann ich das machen?
Ich habe eine Tabelle "Bank", die einen Spaltennamen "nro_cta" haben. Ich möchte es mit einer if-Anweisung verifizieren. Ich bin ein Anfänger zu gespeicherten Prozeduren, danke!
Also habe ich Ihren Code eingerückt, um es lesbar zu machen - beachten Sie, wie Sie eine Variable setzen und dann sofort testen? Außerdem gibt es eine Reihe von unvollständigen Anweisungen - das ist ein großer Haufen Code, der nichts bedeutet. – Hogan
Sie würden diese Validierung mit einer Select-Anweisung durchführen. Wir können Ihnen möglicherweise nicht helfen, weil Sie keine Details über den Tisch oder das, was Sie tun möchten, angegeben haben. –
Die einfachste Möglichkeit zu überprüfen ist, ob ein Bankkonto existiert: 'IF EXISTS (SELECT * FROM [Bank] WHERE nro_cta = @ nro_cta'. Sie können dann etwas in Ihrer if-Bedingung ausführen. – Alex