| 具体代码如下:
Alter PROCEDURE "spAddJob"
-- Author: Rick Curtis
-- Date: July 21, 2000
-- Purpose: Insert new entry into Jobs table and related data into child tables
JobCategory and JobPopulations
-- Declare variables for inserts to all 3 tables
(@CompanyID [int], @JobTypeID [int], @RegionID [int], @JobTitle [varchar](100),
@StartDate [datetime], @CloseDate [datetime], @JobDescription [varchar](4000),
@Qualifications [varchar](4000), @SalaryBenefits [varchar](4000), @Resp
[varchar](4000), @Availability [varchar](200), @ToApply [varchar](2000),
@EmailJobs [varchar](100), @CategoryID [varchar](100), @PopulationID
[varchar](100), @JobID [int] OUTPUT)
AS
-- Insert into Jobs table
INSERT INTO Jobs
([CompanyID], [JobTypeID], [RegionID], [JobTitle], [StartDate], [CloseDate],
[JobDescription], [Qualifications], [SalaryBenefits], [Resp], [Availability],
[ToApply], [EmailJobs]) VALUES (@CompanyID, @JobTypeID, @RegionID, @JobTitle,
@StartDate, @CloseDate, @JobDescription, @Qualifications, @SalaryBenefits, @Resp,
@Availability, @ToApply, @EmailJobs)
-- Retrieve the automatically generated JobID VALUE from the Jobs table
SET @JobId = @@IDENTITY
-- Insert new values into JobCategory table
DECLARE @CatInsert varchar(2000)
SET @CatInsert = 'INSERT INTO JobCategory (JobID, CategoryID) SELECT ' +
CONVERT(varchar,@JobID) + ', Category1ID From CategoryType Where Category1ID IN ('
+ @CategoryID + ')'
exec(@CatInsert)
-- Insert new values into JobPopulation table
DECLARE @PopInsert varchar(2000)
SET @PopInsert = 'INSERT INTO JobPopulation (JobID, PopulationID) SELECT ' +
CONVERT(varchar,@JobID) + ', PopulationID From Population Where PopulationID IN ('
+ @PopulationID + ')'
exec(@PopInsert)
Return
|