0

我是 SQL 新手,正在阅读这本书:
Murach SQL Server 2008 for Developers。
在第 441 页上,有一些处理 RAISERROR 语句的示例代码。
我明白大部分没问题,但我不明白这两个NULL是什么?
我知道它正在处理带有表值的 INSERT 语句。
我包含了一个指向代码屏幕截图的链接,其中红线指出了NULL
https://imageshack.us/scaled/large/837/testforforeignkey.jpg

4

2 回答 2

1

VALUES 子句表示目标表行中每一列的值。因此,您需要将 VALUES 列表与 Invoices 表的架构进行交叉引用。

@VendorId 很可能会出现在 VendorID 列中。0、0 和 NULL 表示其他 3 列的值。

此外,使用 INSERT 语句的缩写形式也是不好的做法。当您说“INSERT Invoices”并且不指定列名时,它会导致某人查找表的架构进行不必要的工作。

不如说

INSERT Invoices (Col1, Col2, Col3) VALUES ('Val1', 'Val2', 'Val3')

因为它更加明确。

于 2013-04-25T00:01:14.747 回答
0

零用于 PaymentTotal 和 CreditTotal,null 用于 PaymentDate

由于该示例没有明确告诉插入中的列,因此您必须按照显示的顺序进行

这是一个不好的做法

于 2013-04-25T00:10:10.990 回答