2010-10-14 29 views
7

Sử dụng Sybase IQ v12.7. Thực hiện sp_helptext ProcedureName hiển thị văn bản của quy trình được lưu trữ. Tuy nhiên nó kết thúc tốt đẹp các dòng ở 80 ký tự. Câu hỏi đặt ra là làm thế nào để hiển thị văn bản văn bản của một thủ tục lưu sẵn mà không cần gói?Sybase IQ - cách hiển thị thủ tục được lưu trữ mà không cần gói văn bản?

Trong Sybase Central Java Edition có một tính năng xem văn bản của một thủ tục được lưu trữ (Tranact-SQL) mà không cần gói dòng. Vì vậy, câu hỏi có thể được đặt lại theo một cách khác: Sybase Central lấy nội dung của một thủ tục được lưu trữ mà không cần gói văn bản ở 80 ký tự như thế nào?

Về cơ bản, tìm cách lập trình để loại bỏ các thủ tục được lưu trữ để kiểm soát phiên bản và khác biệt.

Nhờ bất kỳ câu trả lời nào!

Trả lời

10

sp_helptext không thực hiện bất kỳ gói nào - nó phá vỡ văn bản định nghĩa thủ tục ở ký tự dòng mới và trả về mỗi dòng dưới dạng một hàng. Nếu bạn muốn toàn bộ điều trở lại như là một chuỗi duy nhất, bạn có thể chọn định nghĩa thủ tục trực tiếp từ bảng hệ thống:

select proc_defn from SYS.SYSPROCEDURE where proc_name='<procedurename>' 
+1

Tuyệt vời, cảm ơn bạn. Điều này thật đúng với gì mà tôi đã tìm kiếm. Khi chạy sp_helptext trong một ứng dụng khách như các dòng dài sqldbx trong thủ tục được lưu trữ, hãy lấy 80 ký tự. Vì vậy, có lẽ đó là một vấn đề với khách hàng hoặc một số thiết lập trên kết nối khách hàng. Trong mọi trường hợp, truy vấn bảng SYS.SYSPROCEDURE trực tiếp thực hiện công việc. – FuzzyWuzzy

1

Hiện nay tôi đã không truy cập vào IQ Sybase hoặc máy chủ ASA, nhưng tôi nghĩ rằng bạn đang tìm kiếm cái gì đó như ASE sp__helptext từ http://www.edbarlow.com/gem/procs_only/

Cố gắng viết lại cái này cho máy chủ ASA.

Cập nhật:

Xem tiện ích chống sao chép.

0

Nếu bạn đang sử dụng isql để thực hiện sp_helptext, sau đó probbably bạn không cung cấp "- Tham số w "đặt column_width cho phiên hiện tại. Hãy thử làm điều tương tự với isql -w999 để xem nó có còn kết thúc tốt đẹp hay không.

Vì mục đích của riêng tôi, để so sánh thủ tục được lưu trữ, tôi sử dụng tiện ích defncopy do Sybase cung cấp, mà kolchanov đã đề cập.

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