Tôi muốn các hằng số được, theo mặc định, trong thân gói trừ khi bạn sử dụng hằng số làm giá trị tham số cho một trong các thủ tục/hàm gói công khai của bạn hoặc dưới dạng giá trị trả về cho các hàm của bạn.
Vấn đề với việc đặt hằng số của bạn trong đặc tả gói là nếu bạn cần thay đổi kiểu của hằng số, các gói khác có thể không sử dụng hằng số vì nó chỉ ở đó. Nếu hằng số là riêng tư ở nơi đầu tiên, thì bạn không cần thực hiện phân tích tác động cho mỗi thay đổi.
Nếu bạn cần lưu trữ các đối tượng như ngôn ngữ mặc định hoặc các nội dung tương tự, thì tôi sẽ đóng gói các đối tượng đó theo các chức năng như get_default_language
v.v ... và giữ các hằng số riêng tư.
Lời kết để hoàn thành: thực hành tốt nhất là xác định mọi thứ càng gần với việc sử dụng càng tốt: nếu hằng số chỉ được sử dụng bởi một quy trình, hãy xác định nó trong quy trình đó; nếu hằng số chỉ được sử dụng trong thân gói, hãy xác định nó trong thân gói (ngoại trừ bài toán ORA-04068 được chú ý ở trên - điều này trở nên ít hơn trong một vấn đề trong 11gR2, nó sẽ được đề cập, nếu các phiên bản được sử dụng). –