Tôi biết rằng Oracle không có kiểu boolean để sử dụng cho các tham số và hiện đang tham gia vào một loại NUMBER có 1/0 cho True/False (thay vì Cách tiếp cận 'Y'/'N' CHAR (1)).Tham số "Boolean" cho thủ tục lưu sẵn Oracle
Tôi không phải là một lập trình viên Oracle rất tiên tiến, nhưng sau khi làm một số digging và đọc một số bài viết ASKTOM, nó có vẻ như bạn có thể hạn chế một lĩnh vực sử dụng một định dạng cho các cột như:
MyBool NUMBER(1) CHECK (MyBool IN (0,1))
Có cách nào để áp dụng cùng một loại ràng buộc kiểm tra cho một tham số đầu vào cho một thủ tục lưu sẵn không? Tôi muốn hạn chế các đầu vào có thể là 0 hoặc 1, thay vì kiểm tra nó một cách rõ ràng sau khi nhận được đầu vào.
Hi Tony, tha thứ cho sự thiếu hiểu biết của tôi về loại 'boolean'. Tôi phải hiểu sai ý kiến tôi đã thấy về nó. Tôi đã nghĩ Oracle đã không hỗ trợ nó, nhưng có lẽ đó chỉ là cho các kiểu trường. Chỉ cần kiểm tra kỹ, những điều sau đây có phù hợp với loại đó không? NẾU (p_bool) THEN v_MyDisplayString = 'Tôi đã thành công!'; END IF; –
Có, PL/SQL đó sẽ hoạt động. Boolean KHÔNG được hỗ trợ cho các kiểu dữ liệu của các cột trong cơ sở dữ liệu và không thể được sử dụng trong tất cả các truy vấn SQL. –