From cf2c5733584faff79d5addc14fd355a3364ef58b Mon Sep 17 00:00:00 2001 From: Aleksandar Dimtirov Date: Thu, 30 Jul 2020 13:27:49 +0200 Subject: [PATCH] Fix LastInsertId is not supported --- dialect_mssql.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dialect_mssql.go b/dialect_mssql.go index e811a077..a98ddb34 100644 --- a/dialect_mssql.go +++ b/dialect_mssql.go @@ -176,8 +176,17 @@ func (mssql) SelectFromDummyTable() string { return "" } +func (mssql) LastInsertIDOutputInterstitial(tableName, columnName string, columns []string) string { + if len(columns) == 0 { + // No OUTPUT to query + return "" + } + return fmt.Sprintf("OUTPUT Inserted.%v", columnName) +} + func (mssql) LastInsertIDReturningSuffix(tableName, columnName string) string { - return "" + // https://stackoverflow.com/questions/5228780/how-to-get-last-inserted-id + return "; SELECT SCOPE_IDENTITY()" } func (mssql) DefaultValueStr() string {