Phần cuối là máy chủ PostgreSQL 9.1.Nhận tên tham số từ truy vấn SQL
Tôi đang cố gắng tạo báo cáo XML AdHoc. Các tệp báo cáo sẽ chứa các truy vấn SQL, tất cả đều phải bắt đầu bằng câu lệnh SELECT. Các truy vấn SQL sẽ có các tham số. Tùy thuộc vào kiểu dữ liệu của các cột được liên kết, các tham số này sẽ được trình bày tương ứng cho người dùng để cung cấp (các) giá trị.
Một truy vấn SQL rought:
SELECT * FROM customers
WHERE
(
[email protected]_code AND [email protected]
AND customers.type=
(
SELECT type from types
WHERE [email protected]_code
AND types.is_active = @type_is_active
)
AND customers.account_open_date BETWEEN @start_date AND @end_date
)
OR customers.flagged = @flagged;
Tôi muốn để có được danh sách các tên cột và các thông số từ chuỗi truy vấn và đặt chúng vào một mảng chuỗi và xử lý sau.
tôi có thể phù hợp với chỉ các thông số bằng cách sử dụng biểu thức chính quy sau:
@(?)(?<parameter>\w+)
Matches dự kiến:
[email protected]_code
[email protected]
[email protected]_code
types.is_active = @type_is_active
customers.account_open_date BETWEEN @start_date AND @end_date
customers.flagged = @flagged
Làm thế nào để phù hợp với "@Parameter", "=", và "GIỮA" ngay lập tức?
Nếu bạn đang sử dụng XML thì tại sao không có một yếu tố thông số và phụ tùng cho mình những rắc rối? – Romoku
Vì vậy, bạn muốn tìm "@ {variablename}" trong truy vấn sql của mình và thay thế bằng giá trị thực tế mà người dùng muốn? – ganders
Xin cảm ơn. :) Bạn có nghĩ rằng việc trộn lẫn SQL và XML có thể trở nên khá phức tạp không? –