DECLARE @Data xml
set @Data = '
Employee_Local
tblUserRole
RoleId
NO
int
10
Employee_Local
tblUserRole
RoleName
YES
varchar
100
100
Employee_Local
tblUserAccount
UserAccountID
NO
bigint
19
Employee_Local
tblUserAccount
UserName
NO
varchar
20
20
Employee_Local
tblUserAccount
FullName
YES
varchar
25
25
Employee_Local
tblUserAccount
Password
NO
varchar
50
50
Employee_Local
tblUserAccount
CompanyID
YES
bigint
19
Employee_Local
tblUserAccount
CreatedDate
YES
datetime
Employee_Local
tblUserAccount
UpdateDate
YES
datetime
Employee_Local
tblUserAccount
RoleID
YES
int
10
Employee_Local
tblUserAccount
ResetPasswordKey
YES
varchar
100
100
Employee_Local
tblUserAccount
IsPasswordReset
YES
bit
'
DECLARE @Data1 xml
set @Data1 ='
Employee_Live
tblUserAccount
UserAccountID
NO
bigint
19
Employee_Live
tblUserAccount
UserName
NO
varchar
20
20
Employee_Live
tblUserAccount
FullName
NO
varchar
50
50
Employee_Live
tblUserAccount
Password
NO
varchar
50
50
Employee_Live
tblUserAccount
CompanyID
YES
bigint
19
Employee_Live
tblUserAccount
CreatedDate
YES
datetime
Employee_Live
tblUserAccount
UpdateDate
YES
datetime
Employee_Live
tblUserAccount
RoleID
YES
int
10
'
SELECT *
from
(
SELECT xmlobj.value('TABLE_NAME[1]','VARCHAR(500)') AS TABLE_NAME,
xmlobj.value('COLUMN_NAME[1]','VARCHAR(500)') AS COLUMN_NAME,
xmlobj.value('IS_NULLABLE[1]','VARCHAR(500)') AS IS_NULLABLE,
xmlobj.value('DATA_TYPE[1]','VARCHAR(500)') AS DATA_TYPE,
xmlobj.value('CHARACTER_MAXIMUM_LENGTH[1]','VARCHAR(500)') AS CHARACTER_MAXIMUM_LENGTH
FROM @Data.nodes('//Table') as r (xmlobj)
except
SELECT xmlobj.value('TABLE_NAME[1]','VARCHAR(500)') AS TABLE_NAME,
xmlobj.value('COLUMN_NAME[1]','VARCHAR(500)') AS COLUMN_NAME,
xmlobj.value('IS_NULLABLE[1]','VARCHAR(500)') AS IS_NULLABLE,
xmlobj.value('DATA_TYPE[1]','VARCHAR(500)') AS DATA_TYPE,
xmlobj.value('CHARACTER_MAXIMUM_LENGTH[1]','VARCHAR(500)') AS CHARACTER_MAXIMUM_LENGTH
FROM @Data1.nodes('//Table') as r (xmlobj)
)t