Как получить Intermediate LastInsertID из двух операций вставки? - PullRequest
0 голосов
/ 07 ноября 2018

Часть моего запроса показана ниже. Я использую ASP.net с C #. Я хочу получить LastRegionID в мой код C # в конце запроса. В настоящее время я всегда получаю сообщение last_ID insert_region_cost. Но я хочу, чтобы после вставки региона, который является «LastRegionID». Это возможно? Есть ли другой способ добиться того, чего я хочу?

                    string Query = @"INSERT INTO region (" +
                                    "REGION_USER_ID," +
                                    "REGION_NICK_NAME," +
                                    "REGION_POLYGON) " + 
                                "VALUES (" +
                                    "@Parameter1," +
                                    "@Parameter2," +
                                    "PolygonFromText(@Parameter3)); " +

                                "SET @'LastRegionID' = LAST_INSERT_ID();" +

                                "INSERT INTO region_cost (" +
                                    "REGION_ID," +
                                    "REGION_COST," +
                                    "REGION_COST_NICK_NAME," +
                                    "REGION_NOTES) " +
                                "VALUES (" +
                                    "@'LastRegionID'," +
                                    "@Parameter4," +
                                    "@Parameter5," +
                                    "@Parameter6);";

Часть кода C # ...

                    if (sqlSuccess > 0)
                {
                    oDBStatus.LastUpdatedKey =  @LastRegionID ???';
                    oDBStatus.Type = DBOperation.SUCCESS;
                    oDBStatus.Message.Add(DBMessageType.SUCCESSFULLY_DATA_INSERTED);
                }
                else
                {
                    oDBStatus.Type = DBOperation.ERROR;
                    oDBStatus.Message.Add(DBMessageType.ERROR_NO_RECORDS_UPDATED);
                }
                return oDBStatus;
...