ALTER TABLE WHERE子句

时间:2014-10-13 02:58:16

标签: sql alter-table

我不熟悉DDL。我假设它们是WHERE的{​​{1}}条款,我现在已经理解了ALTER命令不存在WHERE条款后的一些研究。如何处理我们可能需要检查ALTER命令中的某些条件的情况?

Mysql Drop column where all row value is null

例如,对于上述问题,如果我想写下面的代码,我该怎么做?

ALTER

有没有任何标准的SQL方法来实现这一目标?如果没有,任何人都可以为各种数据库(SQL Server,MySQL,Oracle,PostgreSQL)提供方法吗?

1 个答案:

答案 0 :(得分:5)

您不能仅删除表中某些行的列。该表有列,或者没有。这就是WHERE没有ALTER条款的原因。

听起来您只想在表格中的所有值都为NULL时才删除此列。您需要的是IF声明。

更新:

SELECT CASE 
    WHEN NOT EXISTS (SELECT * FROM my_table WHERE col IS NOT NULL)
        THEN 'Y'
    ELSE 'N'
END AS my_result

IF my_result = 'Y'
    ALTER TABLE...