StudeStude>场景 - C#应用程序+ SQL Server 2008 R2
我有一个具有以下结构的表货币
currencyID - int - NOT NULL - Primary Key - IS Identity (**True**)
currency - VARCHAR(50) - NOT NULL
一直在阅读文章,指出在主表中绑定到主要NOT NULL键时,为foriegn键插入NULL是违反所有SQL规则的
所以,伙计们,我需要你的解决方法的建议。提前谢谢。
这是我的存储过程的修剪版本
CREATE PROCEDURE [dbo]。[spStudentPaymentDetails]
-- PARAMETERS
**** blah blah ***
@currencyID int = null,
@studentFees varchar(100) = null,
**** blah blah ***
AS
BEGIN
SET NOCOUNT ON;
-- Add Student Details
INSERT INTO Student_Payment_Details(****,currencyID,studentFees,****) values(****,@currencyID,@studentFees,****);
SELECT SCOPE_IDENTITY();
END
答案 0 :(得分:1)
一种选择是在表格中使用“无”货币记录并使用该ID。
答案 1 :(得分:1)
即使它是货币表的FK,也可以在表CurrencyID == NULL
中插入Student_Payment_Details
的记录。
不可能的是在货币表中插入带有PK NULL的记录,但这不是你的情况。
答案 2 :(得分:0)
你必须与它保持一定的距离,我看到两个选项: