uptrace / bun

SQL-first Golang ORM
https://bun.uptrace.dev
BSD 2-Clause "Simplified" License
3.46k stars 206 forks source link

how do i exec multiple queries as a single query? #1001

Open qonn opened 1 week ago

qonn commented 1 week ago

I'm using bun with mssql driver, trying to do something simple such as inserting but can't figure out how exactly. Using .Returning("SCOPE_IDENTITY()") doesn't seem to be working properly with mssql.

type Person struct {
  bun.BaseModel `bun:"table:Person,alias:p"`

  PersonID int `bun:"PersonID,pk,autoincrement"`
  Name string `bun:"Name"`
}

// ...

entity := &Person{Name:"John Doe"}
personid := 0
err := db.NewInsert().Model(entity).Scan(context.Background(), &personid) // <-- how do i do that here?

sql that I'm trying to achieve is as below:

INSERT INTO Persons (Name) VALUES ('John Doe'); SELECT SCOPE_IDENTITY()