シナリオ:
SQL Serverのテーブルと列をざっと見てみましたが、いずれかの列でIDプロパティが有効になっているかどうかがわかりませんでした。 IDが有効になっているかどうかに関係なく、システムテーブルを使用して列名を確認するのではなく、データを使用して列名を取得する必要があります。どのようにそれをしますか?解決策:
選択に$Identityを使用すると、identity列のすべての値が返されます。いくつかのレコードを持つテーブルcustomerがあるとします。
CREATE TABLE Customer ( CustomerId INT Identity(1, 1) ,FirstName VARCHAR(50) ,LastName VARCHAR(50) ,Age SMALLINT ,PhoneNumber CHAR(9) ,DOB DATE ,Gender CHAR(1) )
データを含むID列を取得するには、以下の構文を使用できますinsert into dbo.Customer(FirstName,LastName,Age) Values('Aamir','Shahzad',66), ('Raza','M',44)
SchemaName.TableNameから$identityを選択します
dbo.Customerテーブルから値を含むID列を取得するには、次のようにします。以下のスクリプトを使用できます
Select $Identity from dbo.Customer以下の結果が表示されます。
SQLServerでシステムテーブルを使用せずにID列の名前と値を取得する方法
ビデオデモ:選択でID列名を指定せずにID列の値を取得する