JBTALKS.CC

 找回密码
 注册
查看: 1610|回复: 3
打印 上一主题 下一主题

求救 Oracle SQL (AM/PM 问题)

[复制链接]

24

主题

5

好友

154

积分

高级会员

Rank: 3Rank: 3Rank: 3

跳转到指定楼层
1#
发表于 2012-7-19 11:28 PM |只看该作者 |倒序浏览
CREATE OR REPLACE TRIGGER Guest_Change_In_WorkingHour
           BEFORE INSERT OR UPDATE OR DELETE ON guest
        BEGIN
           IF  TO_NUMBER(TO_CHAR(SYSDATE,'hh24')) < 8 -- cant do anything before 8:00am
               OR TO_NUMBER(TO_CHAR(SYSDATE,'hh24')) >= 5
                  -- changes must be made BEFORE 5:00pm
                OR TO_CHAR(SYSDATE,'dy') in ('sun','sat') THEN -- nothing on weekends
        RAISE_APPLICATION_ERROR (-20000, 'Satff changes only allowed during business hours.');
        END IF;
       END;
       /
这个是在8AM 到 5PM 才能 insert, update 和 delete 。
我的问题是 4.00pm 能insert 但是 时间变成AM 时 (4.00am),也能insert。
这个trigger ignore 掉 AM 和 PM。 谁能帮我解决??感激不尽~




收藏收藏0

10

主题

0

好友

117

积分

高级会员

Rank: 3Rank: 3Rank: 3

2#
发表于 2012-7-20 12:05 AM |只看该作者
< 8 (8am ??)
>= 5 (5am??)
24小时制?


回复

使用道具 举报

24

主题

5

好友

154

积分

高级会员

Rank: 3Rank: 3Rank: 3

3#
发表于 2012-7-20 02:23 AM |只看该作者
回复 2# 游戏玩家


    对,是24HR 的。如果 5 换成 17, 问题还是一样。。


回复

使用道具 举报

10

主题

0

好友

117

积分

高级会员

Rank: 3Rank: 3Rank: 3

4#
发表于 2012-7-20 09:36 PM |只看该作者
回复 3# smallkes


    貌似 BEFORE INSERT OR UPDATE OR DELETE 需要分开成3个trigger


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-5-16 03:50 AM , Processed in 0.088071 second(s), 25 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部