December 4, 2017 at 9:06 am
Hi ! I'm still here asking for your help
I need to create a stored procedure that takes for imput an id int, and a @operation char
i woul lite my stored procedur to CRUD in relation of the char I insert but even if compile it doesn't give me the results i want when execute.
where is the problem?
create procedure SWITCH
@id int null,
@operazione char
as
set xact_abort on
begin try
if @operazione ='d'
begin
declare @tra1name varchar(10)
select @tra1name ='delete'
BEGIN TRAN @tra1name
delete OffertaLavoro
where ID_offerta =@id
print 'Offerta eliminita con successo'
COMMIT TRAN
end
if @operazione ='u'
begin
declare @titolo varchar(50),
@rif varchar(50),
@postiVac int,
@Dip varchar(50),
@liv int,
@paC varchar(50),
@car varchar(50),
@cat varchar(50) =NULL,
@sotcat varchar(50) =Null,
@ref int
BEGIN TRAN
update OffertaLavoro
set
titolo=@titolo,
riferimento= @rif,
postiVacanti= @postiVac,
Dipartimento= @Dip,
fk_livelloIDTipo = @liv,
personaleACarico= @paC,
caratteristiche= @car,
categoria= @cat,
sottocategoria= @sotcat,
fk_IDAzienda_offertaLavoro= @ref
where ID_offerta =@id
print 'Offerta Modificata con successo'
commit tran;
end;
if @operazione ='c'
begin
declare @titolo1 varchar(50),
@rif1 varchar(50),
@postiVac1 int,
@Dip1 varchar(50),
@liv1 int,
@paC1 varchar(50),
@car1 varchar(50),
@cat1 varchar(50) =NULL,
@sotcat1 varchar(50) =Null,
@ref1 int
BEGIN TRAN
insert into OffertaLavoro(
offertaLavoro.titolo,
offertaLavoro.riferimento,
offertaLavoro.postiVacanti,
offertaLavoro.Dipartimento,
offertaLavoro.fk_livelloIDTipo,
offertaLavoro.personaleACarico,
offertaLavoro.caratteristiche,
offertaLavoro.categoria,
offertaLavoro.sottocategoria,
offertaLavoro.fk_IDAzienda_offertaLavoro)
values (@titolo1, @rif1,@postiVac1,@Dip1,@liv1,@paC1,@car1 ,@cat1,@sotcat1,@ref1);
print 'Offerta inserita con successo'
COMMIT TRAN
end;
end try
begin catch
print 'Errore, o comando non riconosciuto';
throw;
end catch
P.S. this is the OffertaLavoro tab
CREATE TABLE [dbo].[OffertaLavoro](
[ID_offerta] [int] IDENTITY(1,1) NOT NULL,
[titolo] [varchar](50) NOT NULL,
[riferimento] [varchar](50) NOT NULL,
[postiVacanti] [int] NOT NULL,
[Dipartimento] [varchar](50) NOT NULL,
[fk_livelloIDTipo] [int] NOT NULL,
[personaleACarico] [varchar](50) NOT NULL,
[caratteristiche] [varchar](3500) NOT NULL,
[categoria] [varchar](50) NULL,
[sottocategoria] [varchar](50) NULL,
[fk_IDAzienda_offertaLavoro] [int] NOT NULL,
CONSTRAINT [PK__OffertaL__4A6DA1C1C7779B46] PRIMARY KEY CLUSTERED
December 4, 2017 at 9:36 am
You're declaring variables instead of parameters. You'll simply insert null values.
December 15, 2017 at 3:19 am
Whatever you are declaring inside your begin try - end try block, does not have any value assigned before insert statement. This is resulting in NULL insertion, thus you are not seeing anything. Something like this will return something:
declare @titolo1 varchar(50) = '1',
@rif1 varchar(50) = '2',
@postiVac1 int = '3',
@Dip1 varchar(50) = '4',
@liv1 int = '5',
@paC1 varchar(50) = '6',
@car1 varchar(50) = '7',
@cat1 varchar(50) =NULL,
@sotcat1 varchar(50) =Null,
@ref1 int = 8BEGIN TRAN
select @titolo1, @rif1,@postiVac1,@Dip1,@liv1,@paC1,@car1 ,@cat1,@sotcat1,@ref1
December 15, 2017 at 5:25 am
Since this is a CRUD procedure, and as Luis said, you should be adding the variables as input parameters for the procedure for CREATE & UPDATE operations.
--Ramesh
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy