Как я могу использовать столбец identity, не зная его имени
Пересказ статьи Kenneth Fisher. How can I use the identity column, without knowing identity column’s name
Одним из наиболее замечательных свойств ведения блога является открытие для себя чего-то совершенно неожиданного при написании статьи. Однажды я писал одну из последних учебных статей об использовании Microsoft Docs (или, или как я по прежнему это называю, Books on Line). Поскольку я хотел, чтобы люди находили некоторые вещи, я просто просматривал разные страницы в случайном порядке, подбирая раздел, читая его и придумывая что бы они могли поискать. По большей части я знал или, по крайней мере, был в какой-то мере знаком с теми вещами, о которых читал. Затем, когда я читал о предложении SELECT, я напал на $IDENTITY. Что за интересное ключевое слово. Ничего удивительного, оно просто возвращает значение столбца identity. (К вашему сведению, имеется также ключевое слово $ROWGUID.) Вот пример:
CREATE TABLE #Table1 (Col1 INT NOT NULL IDENTITY(1,1), Col2 INT, Col3 INT);
INSERT INTO #Table1 VALUES (100,101), (200,201), (300,301);
SELECT $IDENTITY FROM #Table1;
Я обратил внимание на то, что столбец фактически имеет заголовок правильного имени столбца (Col1), а не $IDENTITY.
Итак, для чего вы могли бы его использовать? Вот пример из MS Docs. Я вижу также его использование при написании части кода, когда мне нужно знать, имеет таблица столбец identity или нет, а если да, то как он называется. Как бы то ни было, я подумал, что это забавная штука из мелочей в SQL, так что наслаждайтесь.
Обратные ссылки
Автор не разрешил комментировать эту запись
Комментарии
Показывать комментарии Как список | Древовидной структурой