使用 Prisma 客户端 3 我正在尝试创建一个存储过程。
其背后的动机是:
因此,我决定做的是在应用程序启动时使用
prisma.$executeRaw
创建存储过程,并在需要时调用它。
代码: 让 prisma = new PrismaClient();
let res = await prisma.$executeRawUnsafe(`
CREATE PROCEDURE \`module-events\`.GetAllProducts()
BEGIN
select 555;
END
`);
结果:
无效的
调用:prisma.$executeRaw()
原始查询失败。代码:。留言:1295
This command is not supported in the prepared statement protocol yet
如您所见,
$executeRawUnsafe()
返回相同的结果。有没有办法用 Prisma 创建存储过程?有没有一种方法可以运行不受 Prisma 限制的“自由风格”查询?
我从this答案中了解到可以创建存储过程:
您还可以使用 $executeRaw 生成存储过程或使用您选择的工具/CLI。
我相信你可以这样做来编写 SQL 查询:
await this.prisma.$queryRaw(
Prisma.sql`EXEC [dbo].[Spname]`,
);
这是 Exec SP 的示例,但也尝试创建。