2010-06-17 4 views
2

나는 SQL 쿼리를 실행하고 elisp에서의 결과를 얻으려면 : 나는 포스트 그레스를 사용하고emacs lisp에서 SQL 쿼리를 어떻게 수행 할 수 있습니까?

(let ((results (do-sql-query "SELECT * FROM a_table"))) 
    (do-something-with results)) 

, 나는 이미 내 접속 정보 (호스트, 사용자 이름, 암호, DB 등)을 모두 알고 I 쿼리를 실행하고 결과를 동 기적으로 얻고 싶을뿐입니다.

답변

3

나는 그것을 시도하지 않았지만, pg.el는 유망 해 보인다.

+0

이것은 아름답습니다. 나는 이것을 사용하여 기존 명령을 다시 썼다. 조금 느리지 만 작업하기가 훨씬 쉽습니다. –

1

최근에는 SQLite와 관련하여 this에 달했습니다. 아직 사용하지는 않았지만 접근 방식처럼 보입니다.

0

나는이 양식을 사용하여 PSQL을 부르고 결국 :

(shell-command-to-string 
    (concat sql-postgres-program 
       " -h DBHOST -t" 
       " -c \"SELECT db FROM defines.databases WHERE role = '" tier "' AND db ~ '^" string "';\"" 
       " -U USERNAME DBNAME")) 

모든 권리 일 것 같습니다. 나는 chomp (함수 Paul을 사용하여 연결)를 수행하고 결과를 분할해야하지만, 필요한 결과를 얻는다.

0

sql.el은 emacs에 내장되어 있으며 두 가지 모드가 있습니다. 당신은 elisp로부터 mysql 명령을 보내기 위해 그것으로 작업 할 수 있어야한다. 그러나 당신이 그것을하는 방법을 명백하게 보이지 않는 것처럼 보인다.

사용자 상호 작용이 없거나 SQL 모드 인 elisp에서 완전히 작동하는지 모르겠습니다. 그것은 실행할 문자열을 보내는 함수를 가지고있다.

This link 그것은 돼지 모드로 mysql 모드를 되돌려주고 모드를 마치 당신이 원하는 방식으로 만든다.

관련 문제