Tôi muốn xây dựng một kịch bản thay đổi T-SQL cuộn ra các thay đổi cơ sở dữ liệu từ dev để kiểm tra để sản xuất. Tôi đã chia kịch bản thành ba phần:T-SQL 2005: kết hợp nhiều cuộc gọi thủ tục tạo/thay đổi trong một giao dịch
- lệnh DDL
- thay đổi trong các stored procedure (tạo và thay đổi thủ tục)
- tạo dữ liệu và sửa đổi
Tôi muốn tất cả các thay đổi trong ba kịch bản đó sẽ được thực hiện trong một giao dịch. Mọi thay đổi trong tập lệnh đều được xử lý hoặc - khi có lỗi - tất cả thay đổi sẽ được khôi phục. Tôi đã thực hiện việc này cho các bước 1 và 3 bằng cách sử dụng câu lệnh try/catch và bắt đầu giao dịch. Vấn đề của tôi bây giờ là làm điều tương tự cho các thủ tục được lưu trữ. Cuộc gọi đến "bắt đầu giao dịch" trực tiếp trước khi câu lệnh "tạo thủ tục lưu trữ" dẫn đến lỗi cú pháp cho tôi biết rằng "câu lệnh thủ tục thay đổi/tạo phải là câu lệnh đầu tiên trong chuỗi truy vấn". Vì vậy, tôi tự hỏi làm thế nào tôi có thể kết hợp nhiều tạo/thay đổi thủ tục báo cáo trong một giao dịch.
Bất kỳ trợ giúp được đánh giá cao ;-)
Cảm ơn
và những gì nếu bạn có một UDP lớn với các truy vấn và rất nhiều 'chars? –
@Leandro - Sau đó, bạn cần thực hiện tìm kiếm và thay thế để thoát khỏi ''' bằng '' '' –