SQL에 대한 사용자 입력을 만드는 방법은 무엇입니까?그래서 저는 ODBC를 사용하여 SNOWFLAKE에 연결하고 일부 스크립트를 실행하고 있습니다. ppl이 더 쉽게 사용할 수 있도록 WHERE 필터 목록이있는 UI 창을 설정하는 방법이 궁금합니다.
SQL 스크립트에 입력 할 변수에 매핑 할 팝업이있는 목록을 구상하고 있습니다. 가능한?

//**SNOWFLAKE QUERY****************************************************************************************************
uid = Get Environment Variable( "USERNAME" );
sql_state="
/********************************/
SELECT distinct
column1
,column2
,etc
from Database
WHERE 1=1
and filter1 like '%qwerty%'
and filter2 in ('a', 'b', 'c')
--and filter3 = '54168'
--and filter4 <> 'that_thing'
--and filter5 not in ('group1','group2')
and Date >= CURRENT_DATE - 30 /*go back 30 days*/
";
snowflake_spc = Open Database( "DSN=SNOWFLAKE1;UID=account;PWD=password;", sql_state );
/****************************************************************************************************/
다른스크립팅Re : 필터가있는 SQL에 대한 사용자 입력을 만드는 방법은 무엇입니까?이것은 확실히 가능합니다. jsl을 사용하는 코딩 기술과 시스템이 얼마나 복잡할지에 따라 다릅니다 (단순한 where 절로 필터링하는 경우에는 매우 간단 할 수 있습니다).
고려해야 할 몇 가지 사항 :
- 템플릿 문자열을 사용한 다음 평가 삽입을 사용하여 값을 추가합니다 (또는 문자열을 함께 연결).
- like / =를 어떻게 처리 하시겠습니까? 표시 상자 (라디오 상자, 확인란, 콤보 상자) 또는 텍스트를 구문 분석하는 방법을 나타내는 텍스트 편집 상자의 특정 문자가 있습니까?
- 여러 개의 유사한 조건을 처리하는 방법 (필터 1은 무언가 또는 필터 2는 무언가)?
- 처리하지 않는 방법?
- 모달 창을 통해 스크립트 흐름을 쉽게 처리 할 수 있습니다.
- 나중에 시스템이 어떻게 확장 될 수 있는지 생각해보십시오.
- 스크립팅 가이드와 스크립팅 인덱스가 큰 도움이 될 것입니다. 또한 JMP 도움말은 다양한 디스플레이 상자에 도움이됩니다.
아래는 템플릿 문자열을 사용한 다음 eval 삽입을 사용하여 최종 SQL을 작성하는 매우 간단한 예입니다.
Names Default To Here(1);
sqlTemplate = "\[
select *
from *
where 1=1
^filter1Str^
^filter2Str^
]\";
filter1Str = "";
filter2Str = "";
rbSel = {"like", "in", "=", "not in", "not like"};
ex = New Window("Dialog() example",
<<MODAL></MODAL>
나는 사용자 입력과 사용자 인터페이스의 선택에 따라 완전한 SQL 쿼리를 구축하는 매우 유사한 시스템을 구축했습니다.
Re : 필터가있는 SQL에 대한 사용자 입력을 만드는 방법은 무엇입니까?이것은 쉽게 SQL 쿼리 빌더 .
Filters에는 Filters to Prompt on Run 옵션이 있으며 JMP는 사용자에게 메시지를 표시합니다. 자신 만의 대화를 만들 필요가 없습니다.

자세한 내용을 읽고 예제를 살펴보십시오. SQL 쿼리 작성 .