2013-04-24 3 views
0

Я новичок в SQL и читаю через эту книгу:
Murach SQL Server 2008 для разработчиков.
На странице 441 приведен пример кода, связанного с оператором RAISERROR.
Я понимаю, что это не проблема, но я не понимаю, что эти два zeros и NULL есть?
Я понимаю, что он имеет дело с оператором INSERT со значениями для таблицы.
Я включил ссылку на скриншот кода с красными линиями, указывающими zeros и NULL.
https://imageshack.us/scaled/large/837/testforforeignkey.jpgSQL zeros и NULL

+0

это просто значения, которые будут вставлены в определенный столбец ':)' –

+1

Как выглядит таблица счетов? – Fredou

+0

Таблица счетов-фактур выглядит как https://imageshack.us/scaled/large/405/invoicetable.jpg и https://imageshack.us/scaled/large/267/invoicestable2.jpg – c5burst

ответ

1

Предложение VALUES представляет значения для каждого столбца в строке целевой таблицы. Следовательно, вы перекрестно ссылаетесь на список VALUES со схемой таблицы Invoices.

@VendorId, скорее всего, войдет в столбец VendorID. 0, 0 и NULL представляют значения для 3 других столбцов.

Также неверно использовать короткую форму инструкции INSERT. Когда вы говорите «ВСТАВИТЬ Счета-фактуры» и не указываете имена столбцов, это вызывает ненужную работу для того, чтобы кто-то просматривал схему таблицы.

Лучше сказать

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

как это гораздо более явным.

+0

Большое спасибо! – c5burst

0

нуля являются для PaymentTotal и CreditTotal и нуль для PaymentDate

, так как пример явно не сказать столбец вставки, вы должны идти в порядке, это дисплей

это является плохой практикой

Смежные вопросы