万卷书   首页 > 电脑书籍 > Dreamweaver > Ultradev专题使用存储过程给子表格增加多个记录
 

具体代码如下:

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


上一页