【问题标题】:Visual Foxpro 9 update table based on contents of another tableVisual Foxpro 9 根据另一个表的内容更新表
【发布时间】:2016-10-28 13:52:14
【问题描述】:

当我运行以下查询时,我正确地获得了需要更改一列的行列表...

SELECT b.* from btable b JOIN ptable p ON p.p_empno = b.b_empno WHERE EMPTY(b.b_expdate) AND p.p_active <> [T] AND INLIST(b_beneid,[I],[S])

我的问题是,现在我需要使用相同的标准用 {^2016-12-31} 更新 btable.b_expdate 并且不能完全获得有效的语法。 (几年前在foxpro工作,现在在MSSQL工作)

有人可以帮助澄清我需要的语法吗?

【问题讨论】:

    标签: visual-foxpro


    【解决方案1】:

    我认为它在 MSSQL 中是相同的(我会在那里写相同的,使用 '20161231' 或 datefromparts(2016,12,31) 而不是 {^2016/12/31} -请注意,在 VFP 分号是命令行继续符,而不是 MSSQL 中的语句结束符):

    UPDATE  bTable ;
    SET     b_expdate = {^2016/12/31} ;
    FROM    pTable p ;
    WHERE   Empty(bTable.b_expdate) ;
            AND p.p_empno = bTable.b_empno ;
            AND p.p_active <> 'T' ;
            AND b_beneid IN ( 'I', 'S' )
    

    编辑:也许您明年需要与 2017/12/31 相同的代码,改为执行“今年 12 月 31 日”的代码?如果是这样:

    UPDATE  bTable ;
    SET     b_expdate = Date(Year(Date()),12,31) ;
    FROM    pTable p ;
    WHERE   Empty(bTable.b_expdate) ;
            AND p.p_empno = bTable.b_empno ;
            AND p.p_active <> 'T' ;
            AND b_beneid IN ( 'I', 'S' )
    

    EDIT2:这个是你的表名:

    UPDATE  hbene ;
    SET     b_expdate = Date(Year(Date()),12,31) ;
    FROM    hrpersnl p ;
    WHERE   Empty(hbene.b_expdate) ;
            AND p.p_empno = hbene.b_empno ;
            AND p.p_active <> 'T' ;
            AND b_beneid IN ( 'I', 'S' )
    

    【讨论】:

    • 给出了一个语法错误,但没有说明错误是什么。这是我使用的(没有盘化的表名......UPDATE hbene ; SET b_expdate = {^2016/12/31} ; FROM hrpersnl; WHERE Empty(hbene.b_expdate) ;' AND hrpersnl.p_empno = hbene.b_empno ; AND hrpersnl.p_active &lt;&gt; 'T' ; AND h.bene.b_beneid IN ( 'I', 'S' )
    • 对不起...我无法在这个网站上编辑文本,因此上面的查询混乱。
    • 你的是修改过的代码,那真的是你的代码吗(分号后有换行符)?如果是这样,我会在 Empty(...);' 之后看到一个单引号顺便说一句,我知道在这里添加代码的痛苦,您可以编辑您的问题以显示确切的代码吗?
    • h.bene.b_beneid也是错误,应该是hbene.b_beneid
    • 当问题被证明是我的错时,我喜欢它。正如你在上一条评论中所说的那样。 h.bene 应该是 hbene。这次更新了记录。
    猜你喜欢
    • 2019-04-16
    • 2020-11-04
    • 2012-12-11
    • 1970-01-01
    • 2017-07-24
    • 2012-09-05
    • 2018-08-02
    • 2011-11-25
    相关资源
    最近更新 更多