$queryRawUnsafe
는 Prisma Client의 메서드입니다. 이 메서드를 사용하여 데이터베이스에 직접 SQL 쿼리를 작성하고 실행할 수 있습니다. Prisma Client는 보통 데이터베이스 작업을 위해 상위 수준의 추상화된 API를 제공하지만, 경우에 따라서는 직접 SQL 쿼리를 사용해야 할 때가 있습니다. 이때 $queryRawUnsafe
를 사용합니다.
상세한 설명:
$queryRawUnsafe
는 직접 작성한 SQL 쿼리를 데이터베이스에 전달하고 실행합니다. 이는 개발자가 더 세밀한 제어를 원할 때 사용할 수 있습니다.$queryRawUnsafe
대신에 $queryRaw
를 사용하거나, 필요한 경우에는 Prepared Statements를 사용하여 보안을 강화하는 것이 좋습니다.다시 코드 예제를 살펴보겠습니다.
const result: { id: number } = await this.warehousePrismaService
.$queryRawUnsafe(`
SELECT id FROM regulation_sgg_monthly
WHERE id = '${sigungu}'
AND month BETWEEN '${dayjs()
.startOf('year')
.format('YYYY-MM-DD')}' AND '${dayjs()
.endOf('year')
.format('YYYY-MM-DD')}'
ORDER BY month DESC
LIMIT 1;
`);
위 코드에서는 Prisma Client의 $queryRawUnsafe
메서드를 사용하여 regulation_sgg_monthly
테이블에서 조건에 맞는 데이터를 조회하는 SQL 쿼리를 실행하고, 그 결과를 result
변수에 저장합니다. sigungu
와 dayjs
관련 연산을 통해 각각 조건문을 구성합니다. 이렇게 $queryRawUnsafe
메서드를 사용하면 직접 작성한 SQL 쿼리로 데이터베이스 작업을 수행할 수 있습니다.
글 잘 봤습니다, 많은 도움이 되었습니다.