두 테이블에 값을 삽입하는 저장 프로 시저를 만들려고합니다. tblAirport
및 tblCountry
. tblAirport
에는 tblCountry
을 참조하는 FK가 있고 tblCountry
에 값을 넣으려면 tblAirport
의 FK 값을 사용하고 싶습니다. 나는 SQL에 익숙하지 않고 이것을 달성하기 위해 SCOPE_IDENTITY()
함수를 사용해야한다고 생각하지만 구현 방법을 잘 모르겠습니다. 이것들은 내 테이블입니다.저장 프로 시저 및 Scope_Identity() SQL
tblAirport
PK INT IDENTITY(1,1),
geoLocation GEOGRAPHY,
ICAOCode VARCHAR(4),
IATACode VARCHAR(3),
strName VARCHAR(MAX),
strCity VARCHAR(MAX),
strCountry VARCHAR(MAX),
degLat DECIMAL(7,2),
minLat DECIMAL(7,2),
secLat DECIMAL(7,2),
Equator VARCHAR(1),
degLong DECIMAL(7,2),
minLong DECIMAL(7,2),
secLong DECIMAL(7,2),
Meridian VARCHAR(1),
strElevation VARCHAR(5),
FKCountry INT NULL
tblCountry는
PK INT IDENTITY(1,1),
strCountry VARCHAR(MAX)
이 내가이 tblCountry
테이블에 국가를 삽입하는 방법을 모르는
CREATE PROCEDURE [dbo].spInsertAirport
@ICAOCode VARCHAR(4),
@IATACode VARCHAR(3),
@strName VARCHAR(MAX),
@strCity VARCHAR(MAX),
@strCountry VARCHAR(MAX),
@degLat DECIMAL(7,2),
@minLat DECIMAL(7,2),
@secLat DECIMAL(7,2),
@Equator VARCHAR(1),
@degLong DECIMAL(7,2),
@minLong DECIMAL(7,2),
@secLong DECIMAL(7,2),
@Meridian VARCHAR(1),
@strElevation VARCHAR(5),
@FKCountry INT
AS
BEGIN TRANSACTION
BEGIN TRY
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
INSERT INTO tblAirport (ICAOCode, IATACode, strName, strCity, strCountry,
degLat, minLat, secLat, Equator,
degLong, minLong, secLong, Meridian, strElevation)
VALUES (@IATACode, @strName, @strCity, @strCountry,
@degLat, @minLat, @secLat, @Equator,
@degLong, @minLong, @secLong, @Meridian, @strElevation)
내 저장 프로 시저가 무엇인가 ; 어떤 도움이 굉장합니다
'tblAirport' 테이블에'strCountry VARCHAR (MAX)'가있는 이유는 무엇입니까? 그것은'tblCountry' 테이블에서 가져와야합니다. 또한'tbl' 접두어를 쓸모 없게 제거하는 것을 고려하십시오. – Yuck
그들은 모두 과제물입니다. –