2015-10-07 18 views
5

Trong pgadmin3, tôi muốn sử dụng các truy vấn được tham số hóa (để gỡ lỗi nhanh hơn, chỉ cần sao chép & dán truy vấn từ tệp php của tôi). Nhưng tôi không tìm thấy tùy chọn để thêm giá trị của các thông số $1, $2 .... Có thể không?Làm cách nào để thêm giá trị tham số vào truy vấn pgadmin sql?

Đây là truy vấn Tôi đang xây dựng trong vòng một, sau khi gợi ý cho thử nghiệm NULL từ here:

SELECT EXISTS(SELECT 1 
       FROM tax 
       WHERE (addby=$1 or addby<>$1) 
        AND (adddate=$2 or adddate<>$2) 
        AND ($3 IS NULL AND nome IS NULL OR nome=$3) 
        AND ($4 IS NULL AND rank IS NULL OR rank=$4) 
        AND ($5 IS NULL AND pai IS NULL OR pai=$5) 
        AND ($6 IS NULL AND valido IS NULL OR valido=$6) 
        AND ($7 IS NULL AND sinonvalid IS NULL OR sinonvalid=$7) 
        AND ($8 IS NULL AND espec IS NULL OR espec=$8) 
        AND ($9 IS NULL AND public IS NULL OR public=$9) 
     ); 

ý rằng thay thế tất cả các thông số bằng tay là tẻ nhạt, dễ bị lỗi và có lẽ (Tôi hy vọng) không cần thiết.

Xin cảm ơn trước.

Trả lời

6

Tôi chỉ biết hai cách.

Đầu tiên là sử dụng PREPARED STATEMENT (Ví dụ sau PostgreSQL Manual):

PREPARE usrrptplan (int) AS 
    SELECT * FROM users u, logs l 
    WHERE u.usrid=$1 AND u.usrid=l.usrid AND l.date = $2; 
EXECUTE usrrptplan(1, current_date); 

Seccond là để "tìm và thay thế" $1, $2, .. vv bởi các giá trị thích hợp. Nhưng bạn muốn tránh điều này.

+0

Nó hoạt động, cảm ơn bạn! – Rodrigo

+2

nhà phát triển sql chỉ gửi một lời nhắc thoại và cho phép bạn thêm chúng, thậm chí lưu các giá trị cuối cùng của bạn, rất tiện dụng – chrismarx

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