Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Ràng buộc năm hiện hành trong database?

  1. #1
    Ngày gia nhập
    06 2011
    Bài viết
    29

    Post Ràng buộc năm hiện hành trong database?

    Làm sao để ràng buộc năm trong database mặc định là lấy năm hiện hành
    Ai biết chỉ mình với

  2. #2
    Ngày gia nhập
    04 2010
    Nơi ở
    Trên hành tinh thứ ba tính từ Mặt trời
    Bài viết
    202

    Giả sử trong Database của bạn có một trường là Date thì bạn có thể ràng buộc giá trị của trường này như sau
    SQL Code:
    1. ALTER TABLE MyTable
    2. ADD CONSTRAINT chkDate CHECK YEAR(DATE) = YEAR(GetDate())
    Microsoft Student Partner
    University of Information Technology - VNUHCM
    Visit my blog: My power is my mind

  3. #3
    Ngày gia nhập
    06 2011
    Bài viết
    29

    Trích dẫn Nguyên bản được gửi bởi xuanchien Xem bài viết
    Giả sử trong Database của bạn có một trường là Date thì bạn có thể ràng buộc giá trị của trường này như sau
    SQL Code:
    1. ALTER TABLE MyTable
    2. ADD CONSTRAINT chkDate CHECK YEAR(DATE) = YEAR(GetDate())
    Year(Date) = Year(GetDate()):có nghĩa là (ngày)của năm thực thi đó sẽ tương đương với ngày,tháng,năm của hệ thống phải không bạn;còn kiểm tra Năm sao vậy bạn ơi.Chỉ mình với,hic

  4. #4
    Ngày gia nhập
    06 2011
    Bài viết
    29

    Trích dẫn Nguyên bản được gửi bởi xuanchien Xem bài viết
    Giả sử trong Database của bạn có một trường là Date thì bạn có thể ràng buộc giá trị của trường này như sau
    SQL Code:
    1. ALTER TABLE MyTable
    2. ADD CONSTRAINT chkDate CHECK YEAR(DATE) = YEAR(GetDate())
    báo lỗi "Date",là sao bạn ơi

  5. #5
    Ngày gia nhập
    04 2010
    Nơi ở
    Trên hành tinh thứ ba tính từ Mặt trời
    Bài viết
    202

    Trích dẫn Nguyên bản được gửi bởi tinhdoncoi902 Xem bài viết
    báo lỗi "Date",là sao bạn ơi
    Bạn phải thay từ Date bằng tên của cột trong table của bạn. Còn nếu cột đó cũng tên là Date thì bạn đặt nó trong dấu ngoặc vuông [Date] vì có thể trùng với từ khóa
    Microsoft Student Partner
    University of Information Technology - VNUHCM
    Visit my blog: My power is my mind

  6. #6
    Ngày gia nhập
    06 2011
    Bài viết
    29

    Post làm sao để ràng buộc đúng như các ký tự

    Trích dẫn Nguyên bản được gửi bởi xuanchien Xem bài viết
    Bạn phải thay từ Date bằng tên của cột trong table của bạn. Còn nếu cột đó cũng tên là Date thì bạn đặt nó trong dấu ngoặc vuông [Date] vì có thể trùng với từ khóa
    Ô,bạn ơi chạy rồi,cảm ơn nhiều.Ừ bạn giúp mình nữa nhe,trong Table có cột Học kỳ NChar(3),học kỳ mình nhập theo kiểu(I,II,III,IV,V,VI)
    Vậy làm sao để ràng buộc đúng như các ký tự trên

  7. #7
    Ngày gia nhập
    04 2010
    Bài viết
    51

    Trích dẫn Nguyên bản được gửi bởi tinhdoncoi902 Xem bài viết
    Ô,bạn ơi chạy rồi,cảm ơn nhiều.Ừ bạn giúp mình nữa nhe,trong Table có cột Học kỳ NChar(3),học kỳ mình nhập theo kiểu(I,II,III,IV,V,VI)
    Vậy làm sao để ràng buộc đúng như các ký tự trên
    HocKy Nchar(3) Check(HocKy In ('I', 'II', 'III', 'IV'))
    Trong phần tạo bảng bạn thêm check cho cột học kỳ như trên là được
    ITH - Tôi yêu Lập Trình.

  8. #8
    Ngày gia nhập
    06 2011
    Bài viết
    29

    Trích dẫn Nguyên bản được gửi bởi xuanchien Xem bài viết
    Bạn phải thay từ Date bằng tên của cột trong table của bạn. Còn nếu cột đó cũng tên là Date thì bạn đặt nó trong dấu ngoặc vuông [Date] vì có thể trùng với từ khóa

    Bạn ơi sao câu ràng buộc dữ liễu của bạn tạo bảng thì không báo lỗi gì,nhưng khi Insert dữ liệu vào thì lỗi(The INSERT statement conflicted with the CHECK constraint "Check_HEDAOTAO_NAMTHI". The conflict occurred in database "QLSINHVIEN", table "dbo.HEDAOTAO", column 'NAMTHI'.
    )
    đây là bản Hệ đào tạo:
    Create Table HEDAOTAO
    (
    MAHDT Char(10)not null Primary Key,TENHDT NVarchar(30)not null,NAMTHI int
    --Ràng buộc
    Constraint Check_HEDAOTAO_NAMTHI CHECK(YEAR(NAMTHI) = YEAR(GetDate()))
    )

  9. #9
    Ngày gia nhập
    04 2010
    Bài viết
    1,535

    Không thể dùng phép so sánh tuyệt đối:

    CHECK(YEAR(NAMTHI) = YEAR(GetDate()))

    Sang năm sau, các dữ liệu này bỏ đi à?

    Phải dùng phép tương đối:

    CHECK(YEAR(NAMTHI) <= YEAR(GetDate()))

  10. #10
    Ngày gia nhập
    06 2011
    Bài viết
    29

    Post ràng buộc số điện thoại

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Không thể dùng phép so sánh tuyệt đối:

    CHECK(YEAR(NAMTHI) = YEAR(GetDate()))

    Sang năm sau, các dữ liệu này bỏ đi à?

    Phải dùng phép tương đối:

    CHECK(YEAR(NAMTHI) <= YEAR(GetDate()))
    Cảm ơn bạn chạy hết lỗi rồi,Thêm được dữ liệu vào lun.Cho mình hỏi cía nữa nhe bạn
    Constraint Check_SINHVIEN_PHONE Check(PHONE NOT LIKE '%[^0-9]%'),số điện thoại địng dạng kiểu này có lỗi ,vậy ràng buộc như thế nào vậy bạn

Các đề tài tương tự

  1. MS SQL Lỗi Cách sử dụng replication trong sql server 2012 để đồng bộ 2 database thành 1 database?
    Gửi bởi btk1902 trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 22-07-2013, 02:24 PM
  2. MS SQL Lỗi Không attach được database trong sql 2005, lỗi: not able to access database under current security context
    Gửi bởi hugo158 trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 4
    Bài viết cuối: 19-04-2013, 02:51 AM
  3. Database Cách sắp xếp dữ liệu theo năm - hoặc chia nhỏ database?
    Gửi bởi YuchiRO trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 21-01-2013, 07:21 PM
  4. Định dạng Ngày , Tháng , Năm trong việc nhập vào DATABASE và xuất ra file Excel
    Gửi bởi duyden289 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 08-11-2012, 08:35 PM
  5. Cách tạo database trong Oracle Database 10g Express Edition?
    Gửi bởi trangchuvn_2000 trong diễn đàn Thắc mắc Oracle
    Trả lời: 5
    Bài viết cuối: 18-06-2012, 06:25 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn