Oracle删除多个列(不是删除)

时间:2016-06-08 09:25:00

标签: oracle sql-delete

逗人,

我正在尝试删除oracle表中的多个列值,我正在运行下面的脚本,但它似乎无法正常工作(虽然它在SQL服务器中执行)。

DELETE a.mobile_num ,
                    a.price_list,
                    a.cust_segment,
                    a.classification,
                    a.region,
                    a.district,
                    a.localty,
                    a.dsl_install_dt,
                    a.dsl_oper_status,
                    a.fl_install_dt,
                    a.fl_status,
                    a.oper_status_cd
                    From mkt_wl_history_2 a;

谢谢,

2 个答案:

答案 0 :(得分:1)

您无法删除Oracle中的列值,您可以删除整行。如果我理解正确,你试图将这些值设置为NULL。

在这种情况下,您可以使用以下语句。

UPDATE mkt_wl_history_2                 
SET price_list=NULL,
    cust_segment=NULL,
    classification=NULL,
    region=NULL,
    district=NULL,
    localty=NULL,
    dsl_install_dt=NULL,
    dsl_oper_status=NULL,
    fl_install_dt=NULL,
    fl_status=NULL,
    oper_status_cd=NULL

另外,我假设您必须对表中的所有行执行此操作。如果没有,那么请在适当的地方申请。

答案 1 :(得分:0)

使用与此类似的查询将列的所有值设置为默认值:

UPDATE mtk_wl_history_2 SET mobile_num = DEFAULT