0
如何删除数据库中所有表中的所有记录,其中表中有一列名为systemid
,其中systemid
不等于1或2?如果列A存在并等于B,则SQL全部删除全部等于B
所以我需要看看表中是否包含某个列名,如果是,请检查该列中所有记录的值,如果不是1或2,则删除。在db中的所有表上。
试图清理开发数据库。
--- UPDATE ---
我发现这个SO螺纹:SQL Server : check if table column exists and remove rows
有关详情如下:
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TAB1')
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TAB1' AND COLUMN_NAME = 'COL1')
delete TAB1 where COL1 not in (select COL2 from TAB2);
,但我不能为我的生活正确地从一个SQL查询中完成,由于缺乏知识和经验,我可以做到这一点。任何人都可以提供一个示例代码和解释吗?
谢谢溢出!
使用'information_schema.columns' .. – Sathish
如上所述,您可以使用information_schema表/列。我会创建一个存储过程,它读取information_schema,并为select中的每一行创建** delete **语句 – StanislavL
我现在来看看,谢谢 – Arbiter