Sql server 创建将值从两个表插入到第三个表的过程

Sql server 创建将值从两个表插入到第三个表的过程,sql-server,stored-procedures,Sql Server,Stored Procedures,我有以下3个表格: 表费计划 CREATE TABLE [dbo].[FeePlan]( [FeePlanID] [int] IDENTITY(1,1) NOT NULL, [Course] [nvarchar](50) NOT NULL, [Semester] [nvarchar](50) NOT NULL, [TotalFee] [int] NOT NULL, [Remarks] [nvarchar](100) NOT NULL, CONSTRAINT [PK_FeePlan] PRIMA

我有以下3个表格:

表费计划

CREATE TABLE [dbo].[FeePlan](
[FeePlanID] [int] IDENTITY(1,1) NOT NULL,
[Course] [nvarchar](50) NOT NULL,
[Semester] [nvarchar](50) NOT NULL,
[TotalFee] [int] NOT NULL,
[Remarks] [nvarchar](100) NOT NULL,
 CONSTRAINT [PK_FeePlan] PRIMARY KEY CLUSTERED 
(
[FeePlanID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
表格StudentRegister

CREATE TABLE [dbo].[StudentRegister](
[Student_ID] [varchar](50) NOT NULL,
[Student_Name] [varchar](50) NULL,
[Course] [varchar](50) NULL,
[Roll_Number] [varchar](30) NULL,
[Semester] [varchar](10) NULL,
[Shift] [varchar](30) NULL,
[Address] [varchar](50) NULL,
[Phone_Number] [varchar](10) NULL,
[Gender] [varchar](10) NULL,
[Email_ID] [varchar](50) NULL,
[Fees] [varchar](20) NULL,
[Transportaion] [varchar](10) NULL,
PRIMARY KEY CLUSTERED 
(
[Student_ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
表费支付

CREATE TABLE [dbo].[FeePayment](
[FeePaymentID] [int] IDENTITY(1,1) NOT NULL,
[StudentID] [varchar](50) NOT NULL,
[StudentName] [varchar](50) NULL,
[Course] [varchar](50) NULL,
[Semester] [varchar](10) NULL,
[TotalFee] [int] NULL,
[Schlorship] [int] NULL,
[AmountPaid] [int] NULL,
[DueAmoount] [int] NULL,
[Remarks] [varchar](100) NULL,
 CONSTRAINT [PK_FeePayment] PRIMARY KEY CLUSTERED 
(
[FeePaymentID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
我需要创建的是一个过程,当学生详细信息插入表StudentRegister时,它应该比较表FeePlan中的值,并将表StudentRegister和FeePlan中的值插入表FeePayment

从StudentRegister表中插入到FeePayment的值为:Student_ID、Student_姓名、课程、学期,并将这些值与FeePlan表中的值TotalFee、DueAumount进行比较后,插入到FeePayment表中

我创建的过程如下所示,但不起作用

Create Procedure [dbo].[SP_AddFeePayment]
(

@StudentID varchar(50),
@StudentName varchar(50),
@Course varchar(50),
@Semester varchar(50),
@TotalFee int,
@Schlorship int,
@AmountPaid int,
@DueAmount int,
@Remarks varchar(100)

)

AS

BEGIN

INSERT INTO
dbo.FeePayment(StudentID,StudentName,Course,Semester)
SELECT
      StudentRegister.Student_ID,StudentRegister.Student_Name,StudentRegister.Course,StudentRegister.Semester
From 
dbo.StudentRegister
Where dbo.StudentRegister.Student_Id=@StudentID
END

您尝试过什么?所以您需要一个表中的insert来触发另一个表中的insert?您可以在这里包括您的工作,然后有人肯定可以帮助您改进查询并修复其中的错误。无中生有是很难做到的。因此,最好在这里包含您尝试过的代码,为什么不在insert语句中使用存储过程的参数来插入表中的其他值呢?这看起来很像家庭作业。如果您的教授要求您在程序前面加上sp_uu,您可以看看这篇文章,并与您的教授分享这些知识。