|
задваивание результата выборки
|
|||
---|---|---|---|
#18+
После того как хранимаяпроцедура отработала два раза я получил [VersionNo] 25, 27. Что не так? Почему [VersionNo] не 24, 25 ? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 19:24 |
|
задваивание результата выборки
|
|||
---|---|---|---|
#18+
Конвертация из nvarchar(40) в nvarchar(40) выглядит мило. Конвертация "не понятный тип поля VersionNo" -> int -> nvarchar(1000) -> smallint выглядит тупо. Вопрос "почему вместо миллиона долларов я получил кукиш, при этом ничего не делая для получения миллиона" выглядит ну уж совсем по-идиотски. Может, переформулируете? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 21:02 |
|
задваивание результата выборки
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, /****** Object: StoredProcedure [dbo].[sp_Insert_XML] Script Date: 10/30/2020 9:09:27 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[sp_Insert_XML] -- Add the parameters for the stored procedure here @xml xml, @customerRef nvarchar(40) AS BEGIN DECLARE @SQLVersionNo smallint; -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- SELECT NEWID(), CONVERT(nvarchar(40), '''+@customerRef+'''), GETDATE(), CONVERT(smallint,'''+ @version + '''), CONVERT(XML, BulkColumn) AS BulkColumn SELECT @SQLVersionNo = ISNULL(MAX([VersionNo]), 0)+1 FROM GDPR_XMLmodels where CustomerReference = @customerRef; INSERT INTO GDPR_XMLmodels(Id, CustomerReference, LoadTime, VersionNo, xmlDocument) SELECT NEWID(), @customerRef, GETDATE(), @SQLVersionNo, @xml; raiserror('Fejl...', 10,1) WITH NOWAIT; END --- но всё же, почему VersionNo прибавляет не 1, а 2 ? извиняюсь за хаос, я переделывал ... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 21:14 |
|
задваивание результата выборки
|
|||
---|---|---|---|
#18+
dsalodki, нашёл триггер, но сомневаюсь что он задействован, ведь на обновление /****** Object: Trigger [dbo].[tr_GDPR_XMLmodels] Script Date: 10/30/2020 9:19:04 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- Batch submitted through debugger: SQLQuery38.sql|7|0|C:\Users\ClausRaae\AppData\Local\Temp\~vsD927.sql -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER TRIGGER [dbo].[tr_GDPR_XMLmodels] ON [dbo].[GDPR_XMLmodels] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; UPDATE GDPR_XMLmodels SET versionNo = (SELECT ISNULL(MAX(versionNo), 0)+1 FROM GDPR_XMLmodels where GDPR_XMLmodels.CustomerReference = inserted.CustomerReference) FROM inserted WHERE GDPR_XMLmodels.Id = inserted.Id; END ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 21:22 |
|
задваивание результата выборки
|
|||
---|---|---|---|
#18+
Ну да, AFTER INSERT -- это же как раз про обновление. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 21:27 |
|
задваивание результата выборки
|
|||
---|---|---|---|
#18+
dsalodki ведь на обновление dsalodki AFTER INSERT dsalodki SELECT @SQLVersionNo = ISNULL(MAX([VersionNo]), 0)+1 dsalodki SET versionNo = (SELECT ISNULL(MAX(versionNo), 0)+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 21:30 |
|
|
start [/forum/topic.php?fid=46&msg=40013590&tid=1685467]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
239ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 330ms |
0 / 0 |