首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLSQL:本地启用sql读取器语法

CLSQL:本地启用sql读取器语法
EN

Stack Overflow用户
提问于 2021-06-26 17:56:43
回答 1查看 34关注 0票数 0

我尝试在CLSQL中使用简单的SELECT。我尝试了许多排列,如下所示:

代码语言:javascript
复制
(clsql:select 'dept_name
              :from 'dept
              :where (= 'dept_id 1))
;; Error 
;; DEPT_ID is not of type NUMBER 
;; though dept_id is of type INTEGER

(clsql:select 'dept_name
              :from 'dept
              :where [= id 'dept_id])
;; Error
;; The variable [= is unbound.
;;    [Condition of type UNBOUND-VARIABLE]

(clsql:select [dept.dept_name]
             :from [dept]
             :where [= [dept.dept_id] 2])
;; Error
;; The variable [DEPT.DEPT_NAME] is unbound.

(clsql:select 'dept
              :where [= [slot-value 'dept 'dept-id] 1])

;; Error
;; The variable [= is unbound.
;;    [Condition of type UNBOUND-VARIABLE]

但是,查询

代码语言:javascript
复制
(clsql:select 'dept_name
   :from 'dept)

返回包含一个元素的(dept_name)列表中的所有部门名称。

我声明了一个视图类。

代码语言:javascript
复制
(clsql:def-view-class dept ()
  ((dept-id
    :db-kind :key
    :db-constraints :not-null
    :type integer
    :initarg :dept-id)
   (dept-name
    :accessor dept-name
    :type (string 10)
    :initarg :dept-name))
  (:base-table dept))

对应于具有两个属性的表dept

我还启用了

代码语言:javascript
复制
(clsql:locally-enable-sql-reader-syntax)

我不知道我错过了什么,也不知道如何让它工作。

EN

回答 1

Stack Overflow用户

发布于 2021-06-27 11:36:22

我想我所有的实验都是错的。首先,我们需要使用(clsql:enable-sql-reader-syntax)而不是(clsql:locally-enable-sql-reader-syntax)。Locally仅适用于文件内。请参考Reddit论坛中的此comment

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68141181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档