خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
مقایسه ستون های دو جدول در SQL Server
اگر جدول شما دارای چندین ستون مثلا بیش از 100 باشد، مقایسه ستون ها با یک جدول دیگر بسیار دشوار است. اما برای این مورد یک سناریو داریم که دو جدول را ایجاد می کنیم و سپس فیلدهای این دو را با هم مقایسه می کنیم. عمل مقایسه با استفاده از اسکریپت آخر انجام می شود و حتما باید نام جداول هم در اسکریپت قید شود.
پس از ایجاد جداول، حالا به مقایسه دیتاتایپ ستون می پردازیم:
به جای tbl_ABC و tbl_XYZ باید نام جداول خود را جایگزین کنید:
یا مثلا در جدول دوم یک ستون بیشتر وجود دارد. با کمک اسکریپت زیر می توانیم ستون های اضافی را نشان دهیم:
CREATE TABLE tbl_ABC (Rno INT, Name CHAR(20), Class INT)
GO
CREATE TABLE tbl_XYZ (Rno INT, Name VARCHAR(20))
GO
پس از ایجاد جداول، حالا به مقایسه دیتاتایپ ستون می پردازیم:
select
ic1.TABLE_NAME
,ic1.COLUMN_NAME
,ic1.DATA_TYPE
,ic2.TABLE_NAME
,ic2.DATA_TYPE
,ic2.COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS as ic1
left join INFORMATION_SCHEMA.COLUMNS as ic2
on ic1.COLUMN_NAME=ic2.COLUMN_NAME
where ic1.TABLE_NAME='tbl_ABC'
and ic2.TABLE_NAME='tbl_XYZ'
and ic1.data_type <> ic2.DATA_TYPE
به جای tbl_ABC و tbl_XYZ باید نام جداول خود را جایگزین کنید:
یا مثلا در جدول دوم یک ستون بیشتر وجود دارد. با کمک اسکریپت زیر می توانیم ستون های اضافی را نشان دهیم:
select
ic2.TABLE_NAME
,ic2.COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS ic2
where table_name='tbl_ABC'
and ic2.COLUMN_NAME not in
(select column_name
from INFORMATION_SCHEMA.COLUMNS where table_name='tbl_XYZ')
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: