循环可以锁定吗?
昨晚,测试团队打开了一个奇怪的嘀嗒声.该应用程序有一个网格,用户可以检查事件是否推迟测试人员选择了两个事件(ID:1和5),推迟了两个,但一个没有更新状态
我知道必须更新[Incident]表并在[IncidentDetail]表中插入一条新记录我同时查询并喜欢这个:
Id IncidentKindCode TransportEntryId CreateDate IncidentStatus CloseDate
-- ---------------- ---------------- ---------------------- -------------- ---------
1 11301 52 2014-08-26 19:23:21.47 1 NULL
5 11301 56 2014-08-26 20:06:17.94 0 NULL
Id IncidentId InsertDate DetailKind Reason IncidentUser PostponeDate
-- ----------- ---------------------- ---------- --------- ------------ -----------------------
9 1 2014-08-26 20:28:37.37 1 TEST TEST 8 2014-08-27 00:00:00.000
10 5 2014-08-26 20:28:37.37 1 TEST TEST 8 2014-08-27 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
测试者抱怨是有效的,因为[Incident].[IncidentStatus]值此时必须为零.在深入挖掘之后,我捕获了应用程序发送到服务器的确切查询(感谢分析器).
declare @p1 int
set @p1=2
exec sp_prepexec @p1 output,N'@IDINCIDENT varchar(max) ,@REASON varchar(max) ,@USERCODE varchar(max) ,@POSTPONEDATE varchar(max) …Run Code Online (Sandbox Code Playgroud) 当用户插入俄语单词,例如“ ??????” 到数据库,数据库将其保存为“ ??????”。如果他们以'N'字母插入,或者我以'N'字母选择,即;exec Table_Name N'???????' 没有问题。但是我不想在每个查询中都使用'N',那么对此有什么解决方案吗?我将使用存储过程。
更新:
现在,我可以使用带有排序规则的俄语字母。但是我无法更改每种语言的排序规则,我只想了解在添加文本之后是否有任何触发器或函数可以在文本前面自动添加N。IE; 当我插入'??????'时,SQL应该将其取为N'??????' 自动地。
我有一个像table1一样的
|id | user_id | amount | group_id|
|1 | 1 | 5 | 1 |
|2 | 2 | 1 | 1 |
|3 | 3 | 3 | 1 |
|4 | 3 | 9 | 2 |
|5 | 1 | 4 | 2 |
Run Code Online (Sandbox Code Playgroud)
我只想select为每个group_id找到最后一个:
|id | user_id | amount | group_id|
|3 | 3 | 3 | 1 |
|5 | 1 | 4 | 2 |
Run Code Online (Sandbox Code Playgroud)
有我的SQL:
select max(id) , user_id , …Run Code Online (Sandbox Code Playgroud)