我正在尝试创建一个存储过程,用于比较所述数据库表中的表列的数据库表。我这样做是为了确保每个表都已列出并且已知在那里。
我真的不知道代码或语法,因为真的不是一个sql人。
这是我想的代码:
use database_name
if
((SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES) = (select SQL_name from MainDBF))
print 'Yess!';--something will be put here
else if ((select table_name from information_schema.tables) != (select SQL_name from MainDBF))
print 'Noo!';--something else will put here
else( print'Pass')
我正在使用sql 2005 btw
答案 0 :(得分:0)
试试这个
IF EXISTS(SELECT 1 FROM sys.tables where name = (select colname from tablename))
--<Do your Operation here>
答案 1 :(得分:0)
要比较两个表中的数据,您只需要以下代码:
select * from database1.table1
except
select * from database2.table1
或者您可以使用简单连接
select * from database1.table1 t1
full outer join database2.table1 t2 on t1.key- t2.key
如果t1.key为null,则此记录仅存在于表t2中 如果t2.key为null,则此记录仅存在于表t1中 如果t1.key和t2.key不为空,而是有一个带有此id的记录,则只能检查是否存在任何修饰
为了让这完全动态,我需要几分钟。我稍后会为你做的。