5
I need to create a stored procedure
to insert a game into my database. A game relates to a championship through the table campeonatoJogo
.
The tables are basically:
create table jogo(
codJogo int identity primary key,
nomeTime1 varchar(50) not null,
nomeTime2 varchar(50) not null,
partida1 varchar(5) null,
partida2 varchar(5) null,
partida3 varchar(5) null,
mapa1 varchar(50) null,
mapa2 varchar(50) null,
mapa3 varchar(50) null,
timeVencedor varchar(50) null,
data datetime not null
)
create table campeonato (
codCampeonato int primary key identity,
nome varchar(200) not null,
dataInicio date not null,
dataFim date null
)
create table campeonatoJogo(
codCampeonatoJogo int identity primary key,
codCampeonato int not null,
codJogo int not null,
constraint fkCodJogo foreign key(codJogo) references jogo(codJogo),
constraint fkCodCampeonato2 foreign key(codCampeonato) references campeonato(codCampeonato)
)
When it comes time for me to enter the game, I want you to pass on the game information and the code of the championship stored procedure
below, she therefore inserts a game in a given league.
-- Insere um jogo num determinado campeonato
create proc insertJogo_sp
@nomeTime1 varchar(50),
@nomeTime2 varchar(50),
@partida1 varchar(5),
@partida2 varchar(5),
@partida3 varchar(5),
@mapa1 varchar(50),
@mapa2 varchar(50),
@mapa3 varchar(50),
@timeVencedor varchar(50),
@data datetime,
@codCampeonato int
as
if not exists (select * from campeonato where codCampeonato=@codCampeonato)
print 'Não existe o campeonato que você deseja inserir o jogo'
else
begin
insert into jogo values(@nomeTime1, @nomeTime2,
@partida1, @partida2, @partida3,
@mapa1, @mapa2, @mapa3,
@timeVencedor, @data)
declare @codJogo int
/* como obter o codJogo (primary key) do jogo que eu inseri
para inserir na tabela campeonatoJogo?
* codJogo é identity, portanto não estou passando como parâmetro da stored procedure
*/
select @codJogo=? from
insert into campeonatoJogo values(@codCampeonato, @codJogo)
end
I wanted to know how I would get the codJogo
that is primary key identity
of my insert
and thus inserting into the campeonatoJogo
.
Thanks in advance.
I would like to suggest that I change it to
Como obter a primary key identity de um registro inserido?
to facilitate the identification of the topic by people with similar doubts– Sorack
@Sorack, in fact you don’t even need to ask, if the description of the question doesn’t fit with the description of the title, you can edit with a description that is more useful to the community, (Creating a stored Procedure) is really not a good title in this case.
– Marco Souza
@Marconciliosouza changed then
– Sorack
Possible duplicate of What’s the difference and benefits of using @@IDENTITY and OUTPUT INSERTED.ID
– Sorack