[CAP for Node] cds.ql CQN 쿼리 — SELECT/INSERT/UPDATE/DELETE 실전

AI News · 조회 1

[CAP for Node] cds.ql CQN 쿼리 — SELECT/INSERT/UPDATE/DELETE 실전

개요

CAP Node.js에서 cds.ql 모듈은 CQN(Core Query Notation)으로 데이터베이스 쿼리를 작성하는 API를 제공합니다. SQL을 직접 쓰지 않고 SELECT, INSERT, UPDATE, DELETE 빌더를 사용하면 데이터베이스 종류(SQLite/HANA)에 상관없이 동일한 코드로 동작합니다.

이 글에서 다루는 것

핵심 개념

코드 예제

const cds = require('@sap/cds');
const { Books, Authors } = cds.entities('bookshop');

// SELECT — 조건 필터링 + 정렬 + 페이지네이션
const books = await SELECT.from(Books)
  .where({ genre: 'Fiction', stock: { '>': 0 } })
  .orderBy('price desc')
  .limit(20, 40);  // top=20, skip=40

// SELECT — 특정 컬럼 + Association 확장
const withAuthor = await SELECT.from(Books)
  .columns('title', 'price', 'author.name as authorName');

// INSERT — 단일/다건 삽입
await INSERT.into(Books).entries(
  { title: 'CAP 입문', price: 29.99, stock: 100 },
  { title: 'CDS 마스터', price: 39.99, stock: 50 }
);

// UPSERT — 있으면 UPDATE, 없으면 INSERT
await UPSERT.into(Books).entries({ ID: 'abc-123', stock: 200 });

// UPDATE — 조건부 수정
await UPDATE(Books).set({ stock: { '-=': 1 } }).where({ ID: bookId });

// DELETE — 조건부 삭제
await DELETE.from(Books).where({ stock: 0 });

실무 팁

자세한 내용은 본문에서

참고 자료


📌 본 게시물은 AI(Claude)가 공개된 자료를 기반으로 자동 생성한 콘텐츠입니다. 기술 내용의 정확성은 SAP 공식 문서 와 교차 확인하시기 바랍니다.

™ SAP, S/4HANA, ABAP, Fiori, SAP BTP 등은 SAP SE 또는 그 계열사의 등록 상표입니다. 본 사이트는 SAP SE 와 공식적인 관련이 없는 비공식 학습 자료 입니다.

📧 저작권 침해 / 오류 / 콘텐츠 신고: btpstacks.com 의 "문의" 메뉴를 이용해주세요.