Kayıtlı bir yordamı kullanmak için verilerin eklenmesi gereken birbirine bağlı birkaç tablo var. tablolar şunlardır: bu tablolara veri eklemek içinPaylaşılan kimlik birincil anahtarıyla tablodaki saklı yordamla veri eklerken hata oluştu
create table contactpersoon
(
contactpersoonnr integer identity(1,1),
klantnr integer,
naam varchar(50) not null,
telefoonnr varchar(10) not null,
emailadres varchar(50) not null,
constraint pk_contactpersoon
primary key(contactpersoonnr, klantnr),
constraint fk_contactpersoon_klantnr
foreign key(klantnr) references klant(klantnr)
)
create table klant
(
klantnr integer identity(1,1) primary key,
bedrijfsnaam varchar(50) not null
)
create table Logins
(
GebruikersNaam varchar(30),
Wachtwoord varchar(30),
Klantnr int,
MdwNr int,
constraint pk_logID primary key(GebruikersNaam),
constraint fk_klantnr foreign key(klantnr) references klant(klantnr),
constraint fk_mdwnr foreign key(mdwnr) references medewerker(mdwnr)
)
Saklı yordam:
IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'spKlantAanmaken')
DROP PROCEDURE spKlantAanmaken
GO
Create Procedure spKlantAanmaken
(
@bedrijfsnaam as varchar(255),
@contactnaam as varchar(255),
@telnr as integer,
@email as varchar(255),
@gebruikersnaam as varchar(255),
@wachtwoord as varchar(255)
)
AS
Begin transaction
Declare @klantnr integer
Declare @contactpersoonnr integer
Insert into Klant Values (@klantnr, @bedrijfsnaam);
Insert into contactpersoon values(@contactpersoonnr, @klantnr, @contactnaam, @telnr, @email);
Insert into Logins values (@gebruikersnaam, @wachtwoord ,@klantnr, NULL);
Select * from contactpersoon
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR ('Error tijdens uitvoeren van stap 2.', 16, 1)
RETURN
END
COMMIT
GO
o ekler bu kimlik değerlerini kullanmak gerekirse bilmiyorum. Ben aşağıdaki hatayı alıyorum bu saklı yordam çalışırsanız :
Msg 213, Level 16, State 1, Procedure spKlantAanmaken, Line 923
Column name or number of supplied values does not match table definition.
yanlış yapıyorum: Ben Ovülden kimlik değerlerini kaldırırsanız
Msg 8101, Level 16, State 1, Procedure spKlantAanmaken, Line 923
An explicit value for the identity column in table 'Klant' can only be specified when a column list is used and IDENTITY_INSERT is ON.
bu hatayı alıyorum?
Çözünürlük bildirimi –