C# 在sql server中查找列是否具有来自同一服务器上其他数据库的标识
我无法从同一服务器上的不同数据库中查找应用于具有特定列名的表的标识(使用信息\u架构): 以下查询行用于查找标识是否应用于列或是否来自同一数据库:C# 在sql server中查找列是否具有来自同一服务器上其他数据库的标识,c#,sql-server,sql-server-2008,identity,C#,Sql Server,Sql Server 2008,Identity,我无法从同一服务器上的不同数据库中查找应用于具有特定列名的表的标识(使用信息\u架构): 以下查询行用于查找标识是否应用于列或是否来自同一数据库: if exists( Select OBJECTPROPERTY(object_id('TableName'), 'TableHasIdentity')) --This give result from same database begin print 'SET IDENTITY_INSERT ARCHIVE_Database.dbo.Ta
if exists( Select OBJECTPROPERTY(object_id('TableName'), 'TableHasIdentity')) --This give result from same database
begin
print 'SET IDENTITY_INSERT ARCHIVE_Database.dbo.TableName ON'
print 'insert into ARCHIVE_Database.dbo.TableName(ID,Name) values 1,''Ankush'' '
print 'SET IDENTITY_INSERT ARCHIVE_Database.dbo.TableName OFF'
end
else
print 'insert into ARCHIVE_Database.dbo.TableName(ID,Name) values 1,''Ankush'' '
我们是否可以替换
Select OBJECTPROPERTY(object\u id('TableName'),'tablehasiness'))
line以从数据库ARCHIVE\u数据库中查找应用于表上的标识或不应用于表上的标识?我想您的意思是查找您当前所在的另一个数据库中的表中是否存在标识列:
IF EXISTS (SELECT *
from ARCHIVE_Database.sys.tables t
INNER JOIN ARCHIVE_Database.sys.columns c
ON c.object_id = t.object_id
WHERE t.object_id = OBJECT_ID('ARCHIVE_Database.dbo.TableName') AND is_identity = 1)
BEGIN
...
END