datasquirel/package-shared/functions/dsql/triggers-and-stored-proceedures/stored-proceedure-sql-gen.ts
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

45 lines
883 B
TypeScript

import { DSQL_DatabaseSchemaType, DSQL_TableSchemaType } from "../../../types";
const TriggerTypes = [
{
name: "after_insert",
value: "INSERT",
},
{
name: "after_update",
value: "UPDATE",
},
{
name: "after_delete",
value: "DELETE",
},
] as const;
export type TriggerSQLGenParams = {
type: (typeof TriggerTypes)[number];
srcDbSchema: DSQL_DatabaseSchemaType;
srcTableSchema: DSQL_TableSchemaType;
content: string;
proceedureName: string;
};
export default function triggerSQLGen({
type,
srcDbSchema,
srcTableSchema,
content,
proceedureName,
}: TriggerSQLGenParams) {
let sql = `DELIMITER //\n`;
sql += `CREATE PROCEDURE ${proceedureName}`;
sql += `\nBEGIN`;
sql += ` ${content}`;
sql += `\nEND //`;
sql += `\nDELIMITER\n`;
return sql;
}