Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle tự động thêm ngày hiện tại

Giả sử rằng

  1. Cột của bạn không thực sự được đặt tên là date vì đó là một từ dành riêng
  2. Cột của bạn thực sự được xác định là một date chứ không phải là một number
  3. Bạn muốn điền cột khi bạn chèn một hàng mới

bạn có thể xác định giá trị mặc định cho cột.

SQL> ed
Wrote file afiedt.buf

  1  create table products (
  2  id number not null,
  3  dt date   default sysdate not null
  4* )
SQL> /

Table created.

SQL>
SQL> insert into products( id ) values( 1 );

1 row created.

SQL> select * from products;

        ID DT
---------- ---------
         1 20-NOV-12

Nếu bạn muốn sửa đổi dt cột khi bạn UPDATE hàng, bạn sẽ cần một trình kích hoạt

CREATE OR REPLACE TRIGGER trg_products
  BEFORE INSERT OR UPDATE ON products
  FOR EACH ROW
BEGIN
  :new.dt := sysdate;
END;

Trình kích hoạt sẽ ghi đè bất kỳ giá trị nào được chuyển vào như một phần của INSERT hoặc UPDATE câu lệnh cho dt cột. Giá trị mặc định sẽ không.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận giá trị trả về của một hàm PL / SQL thông qua Hibernate

  2. Cách nhanh hơn để tải bảng kho dữ liệu khổng lồ

  3. Các ràng buộc khóa ngoại có ảnh hưởng đến việc chuyển đổi truy vấn trong Oracle không?

  4. Làm cách nào để chạy các hàm dbms_crypto trong Oracle với tư cách người dùng thông thường?

  5. cx_Oracle:distutils.errors.DistutilsSetupError:không thể định vị tệp bao gồm Oracle