2013-04-24 88 views
0

我是SQL新手,正在閱讀本書:
Murach針對開發人員的SQL Server 2008。
在頁441有一些示例代碼處理RAISERROR語句。
我明白大部分沒有問題,但我不明白這些 兩個 NULL是什麼?
我知道它正在處理一個INSERT語句和一個表的值。
我包含一個指向代碼屏幕截圖的鏈接,用紅線指出 NULL
https://imageshack.us/scaled/large/837/testforforeignkey.jpgSQL零和NULL

+0

他們只是將值插入特定列':)' – 2013-04-24 23:59:12

+1

什麼是發票表的樣子? – Fredou 2013-04-24 23:59:39

+0

Invoices表看起來像https://imageshack.us/scaled/large/405/invoicetable.jpg和https://imageshack.us/scaled/large/267/invoicestable2.jpg – c5burst 2013-04-25 00:05:24

回答

1

VALUES子句表示目標表的一行中每列的值。因此,您將使用Invoices表的模式交叉引用VALUES列表。

@VendorId很可能會出現在VendorID列中。 0,0和NULL表示3個其他列的值。

此外,使用INSERT語句的簡寫形式是不好的做法。當你說「INSERT Invoices」並且不指定列名時,它會導致某些人不必要的工作來查找表的模式。

這是更好地說

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

,因爲它是很多更加明確。

+0

非常感謝! – c5burst 2013-04-25 00:09:06

0

零是PaymentTotal和CreditTotal 和空是PAYMENTDATE

,因爲例如不明確告訴在插入列,你在爲了去它顯示

這是一種不好的做法