我有一个包含很多表的数据库。 在每个表中都有一个名为“LicenseID”(bigint)的列。如何从“LicenseID”列中删除包含值“2”的所有表中的所有行? 最好的问候!
答案 0 :(得分:0)
您没有提到您正在使用哪个数据库。
我认为它是SQL Server 首先使用以下查询检查您的结果
var postDimensions = "server.php?width=" + w + "&height=" + h;
或
xhttp.open("GET", postDimensions , true
然后删除具有上述条件的所有行。
SELECT * FROM table WHERE LicenseID LIKE '%2%'
或
SELECT * FROM table WHERE Contains(LicenseID, 2) > 0
我没有测试它,也不知道你使用的是什么类型的数据库。答案在不同的数据库中可能会有所不同。
答案 1 :(得分:0)
您可以使用INFORMATION_SCHEMA.COLUMNS
动态生成删除语句。
这样的事情可以解决问题:
DECLARE @Sql varchar(max) = ''
SELECT @Sql = @Sql + 'DELETE FROM '+ TABLE_NAME +' WHERE LicenseID = 2; '
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'LicenseID'
EXEC(@Sql)
我使用INFORMATION_SCHEMA.COLUMNS
而非INFORMATION_SCHEMA.TABLES
的原因是为了防止在表格中包含LicenseID
列时出现错误。