2012-05-09 19 views
5

tôi sử dụng phần mềm SquirreL SQL Khách hàng Version 3.2.1 và tôi muốn khai báo biến nhưLàm thế nào để xác định/kê khai và sử dụng biến trong Squirrel SQL client 3

define dateFrom = '13/04/2012'; 
define dateTo = '13/04/2012' 

Và để sử dụng nó trong truy vấn sql của tôi như rằng

SELECT * FROM table_name WHERE TRUNC(column_name) BETWEEN to_date('&dateFrom','YYYY-MM-DD') AND to_date('&dateTo','YYYY-MM-DD'); 

Nhưng nó không hoạt động. Làm cách nào để xác định và sử dụng biến trong SQuirreL.

+0

SQuirreL là khách hàng chứ không phải RDBMS thực tế. Bạn đang gọi RDBMS nào? Nghĩa là, biến sẽ được khai báo trong SQL bạn gửi từ SQuirreL tới RDBMS – gbn

+0

Tôi đang gọi một cơ sở dữ liệu Oracle. – BasicCoder

+1

Bạn nhận được thông báo lỗi nào? Mặt nạ định dạng đọc 'YYYY-MM-DD', trong khi các giá trị không đổi của bạn được định dạng 'DD/MM/YYYY'. Bạn đã thử định dạng đó trong truy vấn chưa? –

Trả lời

-1

Có thể không hoàn toàn là những gì bạn muốn, nhưng bạn đã thử tải plugin 'sqlparam' chưa? Nó cung cấp biến số biến đổi, ví dụ:

SELECT * FROM table_name WHERE TRUNC(column_name) BETWEEN :dateFrom and :dataTo 

Khi chạy truy vấn này Squirrel sẽ yêu cầu giá trị.

+0

Lỗi: ORA-01008: không phải tất cả các biến ràng buộc – BasicCoder

-1

"SQuirreL (giống như SQL-Plus của Oracle) cần biết khi bạn đã hoàn thành thủ tục ẩn danh của bạn. Điều này thường được thực hiện bằng cách thêm một dòng ở cuối thủ tục của bạn với ký tự gạch chéo (/). Ví dụ:"

DECLARE 
v1 NUMBER(3); 

BEGIN 
    v1 := 3; 
    select 1 from dual 
END; 
/

Hãy xem ở đây: http://sourceforge.net/p/squirrel-sql/mailman/message/28580491/

Bây giờ khi bạn chọn SQL của bạn bao gồm dấu gạch chéo, bạn sẽ có thể chạy nó bằng cách bấm Ctrl + Enter.

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