2013-11-02 14 views
6

Tôi có một DB đa oracle trong đó tài khoản khách hàng phải là varchar (50) trong tất cả các lược đồ. Vì vậy, tôi muốn gán một tên mới cho varchar (50) như MYCLIENT sao cho trong tất cả các bảng, sp và hàm, tôi chỉ đơn giản sử dụng hàm MYCLIENT để định nghĩa một trường, tham số, v.v. để tránh sự thiếu chính xác.Bí danh loại đơn giản - Thực tiễn tốt nhất cho Oracle

1 - Làm thế nào tôi nên xác định loại mới trong Oracle (Phương pháp đơn giản nhất)

2 - Nơi để định nghĩa nó (Schema, gói, DB, ..) phù hợp với các thông lệ tốt nhất?

Cảm ơn rất nhiều

Trả lời

5

Tôi e rằng không có cách nào đơn giản để đạt được điều này. Bạn có thể xác định loại phụ bên trong một gói như sau:

SUBTYPE myclient is VARCHAR2(50); 

nhưng bạn sẽ không thể sử dụng loại này làm cột cho cột cơ sở dữ liệu. Để làm như vậy, bạn sẽ phải xác định loại SQL với:

CREATE TYPE myclient ... 

nhưng bạn chỉ có thể xác định loại bản ghi, loại đối tượng hoặc loại bộ sưu tập theo cách này. Điều này thật kỳ lạ, nhưng tốt, cũng giống như một vài thứ trong Oracle ... :)

+0

Cảm ơn câu trả lời của bạn; Bạn có nghĩa là không có cách nào để làm cho Oracle đơn giản trước khi xử lý một câu lệnh sql (ví dụ như tạo bảng) chỉ đơn giản là thay thế MYCLIENT bằng nvarchar (50) ?! – Hosm

+0

Không có gì tôi biết. –

Các vấn đề liên quan