0
我有以下存储过程来插入代金券的购买,但只接收USer_ID,这是我的凭证表中的外键,但其他字段是自动输入的,这里是我的存储过程'在sql中自动插入值
create proc InsertPurchaseVouchers
(
@User_ID int = null,
@Amount decimal(18,2)
)
As
Begin
SET NOCOUNT ON
IF NOT EXISTS (SELECT *
FROM Voucher
WHERE [User_Id] = @User_ID)
Insert into Voucher
(
Voucher_Id,
Voucher_Amount,
Voucher_ExpirityDate,
Voucher__PurchaseDate,
[User_Id]
)
values(
1,
@Amount,
DateAdd(m,3,GetDate()),
GetDate(),
@User_ID
)
set Voucher_Id = Scope_Identity
End`
和我的表
USE [CSIS3714_MakaringiH]
GO
/****** Object: Table [dbo].[Voucher] Script Date: 2015/05/14 11:11:09 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Voucher](
[Voucher_Id] [numeric](18, 0) NOT NULL,
[Voucher_Amount] [decimal](18, 2) NULL,
[Voucher_ExpirityDate] [datetime] NULL,
[Voucher__PurchaseDate] [datetime] NULL,
[User_Id] [int] NULL,
PRIMARY KEY CLUSTERED
(
[Voucher_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]
GO
ALTER TABLE [dbo].[Voucher] WITH CHECK ADD CONSTRAINT [fk_Voucher_User] FOREIGN KEY([User_Id])
REFERENCES [dbo].[User] ([User_ID])
GO
ALTER TABLE [dbo].[Voucher] CHECK CONSTRAINT [fk_Voucher_User]
GO
USE [CSIS3714_MakaringiH]
GO
/****** Object: Table [dbo].[User] Script Date: 2015/05/14 11:12:14 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[User](
[User_ID] [int] NOT NULL,
[User_Name] [varchar](50) NULL,
[User_Password] [nvarchar](200) NULL,
[User_CellNumber] [varchar](10) NULL,
[User_IsActive] [nchar](10) NULL,
[UserRole_Id] [varchar](1) NULL,
[User_FirstName] [varchar](50) NULL,
[User_Surnamr] [varchar](50) NULL,
[User_IdNumber] [varchar](13) NULL,
[User_AirTimeBalance] [decimal](18, 2) NULL,
PRIMARY KEY CLUSTERED
(
[User_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]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[User] WITH CHECK ADD CONSTRAINT [fk_User_Role] FOREIGN KEY([UserRole_Id])
REFERENCES [dbo].[UserRole] ([UserRole_Id])
GO
ALTER TABLE [dbo].[User] CHECK CONSTRAINT [fk_User_Role]
GO
凭证3个月
以及究竟是你的问题? – ughai
纠正存储过程的点也应该收到金额 –
如何获取执行存储过程时未输入的其他值 –