sql-server - 尽管提供非空值,但 SQL Server 插入空错误

标签 sql-server

我正在尝试插入,但出现错误,指出积分不能为空,但我没有提供空值。 Attached Screenshot

代码:插入[dbo].[Course]值(12,'Java',1,1,1);

错误:消息 515,级别 16,状态 2,过程 trgAfterInsert,第 31 行 无法将 NULL 值插入表“DemoCollege.dbo.Course”的“Credits”列;列不允许为空。插入失败。 该声明已终止。

触发器:

Create trigger trgAfterInsert2 ON [dbo].[Course]
After Insert
AS 
Declare @cid int;
Declare @cname nvarchar(50);



Select @cid = i.CourseID from inserted i;
Select @cname = i.Title from inserted i;


Insert into dbo.CourseTemp values (@cid, @cname);

Print 'After insert trigger fired';
GO

最佳答案

表上有一个插入触发器,这就是生成错误的地方。 必须存在某种逻辑以某种方式将提供的信用值转换为空值。

关于sql-server - 尽管提供非空值,但 SQL Server 插入空错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35802121/

相关文章:

sql-server - Entity Framework Core 5 中多对多关系的 DeleteBehavior

SQL Server : check if table column exists and remove rows

sql-server - 使用 SQL Server 管理对象 (SMO) 获取列的长度

sql-server - Sql 服务器 CTE "multi- part identifier could not be bound."

sql - 将 SSRS 报告从开发服务器移植到生产服务器

sql - 从两个不同的服务器数据库 INSERT INTO

SQLServer 2008 通用列类型

sql - SQL Server 2008中设置主键的快捷方式是什么?

sql - 在存储过程中,是简单地查询数据还是构造一个查询然后执行它更好?为什么?

sql-server - 创建 SQL Server JSON 解析/查询 UDF