2016-09-13 105 views
0

我只是不能得到查詢簡單地截斷表與咖喱的工作:截斷表sqlkorma

(korma.core/defentity readings) 
(korma.core/exec-raw ["TRUNCATE TABLE ?" [:name readings]]) 

,我也得到:

Syntax error in SQL statement "TRUNCATE TABLE ?[*]"; expected "identifier"; SQL statement: 
TRUNCATE TABLE ? [42001-191] 
+1

通常,您不能在表名的位置使用綁定變量。 – ntalbs

+0

和類似的東西(k/exec-raw(str「TRUNCATE TABLE」(:name readings)))會在這裏工作嗎?我真的不想爲這個簡單的查詢添加另一個庫。 – fbielejec

+0

我認爲它會工作。只是自己嘗試一下。由於'truncate'是一個DDL,我認爲不會經常被調用,使用動態SQL不會導致任何問題。 – ntalbs

回答

0

由於意見建議之一,綁定參數替換僅適用於DML中的值,而不適用於DML或DDL中的模式。這是一種語義區分,不是句法。

(k/exec-raw (str ...)) 

形式應該工作,使用矢量形式甚至帶有空參數VEC可能沒有。