Chúng tôi gặp phải một vấn đề cụ thể với định nghĩa bảng Oracle (DDL) của chúng tôi và trong một trong các tập lệnh PL/SQL của chúng tôi.Làm thế nào để giảm thiểu sự ghép nối/phụ thuộc giữa thay đổi DDL vật lý và thay đổi PL/SQL?
Vấn đề là, đã có một sự thay đổi trong bảng, thay đổi varchar(20)
-varchar(30)
, sự thay đổi này tuy nhiên, không siêng năng phản ánh trong một trong những kịch bản PL/SQL của chúng tôi tiêu thụ dữ liệu, mà vẫn là varchar(20)
, gây ra một lỗi ORA-06502: PL/SQL: numeric or value error
trong một trong các bài kiểm tra hồi quy của chúng tôi.
Tôi muốn tìm kiếm lời khuyên từ Oracle và các chuyên gia cơ sở dữ liệu ở đây, cho dù bạn đã gặp phải các tình huống như vậy trong quá khứ, theo đó có những thay đổi đối với bảng DDL và không được phản ánh trong PL/SQL. lỗ hổng.
Tôi biết một cách dễ dàng là một số hình thức thực thi hoặc thủ tục giấy tờ, nhưng sẽ xảy ra giải pháp đẹp hay thanh lịch hơn, tức là cách các phím nước ngoài hoạt động để tránh chèn/cập nhật/xóa bất thường?
Với lời cảm ơn!
+1 Cookie, đây là thiên tài, ít nhất là đối với tôi. –
+1 Nói chung điều này hoạt động tốt. Bạn vẫn phải cảnh giác nếu có kỳ vọng về giới hạn kích thước. Một ví dụ sẽ là một địa chỉ được in trên một phong bì nơi cột cơ sở dữ liệu mở rộng không vừa. –
@Chin Boon, nó chắc chắn là thứ mà đội ngũ thiết kế PL/SQL đã đúng! – DCookie