datasources-sqlserver 0.1.50

sqlserver datasource stub
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::SqlServerDriver;
use datasources::CreateTriggerStatement;

pub struct SqlServerCreateTriggerStatementRenderer;

impl SqlServerCreateTriggerStatementRenderer {
    pub fn render(&self, statement: &CreateTriggerStatement) -> String {
        let table = SqlServerDriver::quote(statement.table());
        let updated = SqlServerDriver::quote(statement.updated_column());
        let key = SqlServerDriver::quote(statement.key_column());
        format!(
            "CREATE TRIGGER {} ON {table}\nAFTER UPDATE AS\nBEGIN\n  SET NOCOUNT ON;\n  UPDATE {table} SET {updated} = {}\n  FROM {table} t INNER JOIN inserted i ON t.{key} = i.{key};\nEND",
            SqlServerDriver::quote(statement.name()),
            SqlServerDriver::utc_now(),
        )
    }
}