更新5条数据的记数次数

laj0600310219 2011-06-24 07:14:13
UPDATE [BuildNetHouse].[dbo].[Keyword]
SET [Count] =[Count]+'+Convert(varchar(50),1)+'
WHERE id in (SELECT TOP 5 dbo.Keyword.ID
FROM Keyword
WHERE 1=1 '+@Where+'
order by dbo.Keyword.Placeholder desc '+@OrderBy1+')
...全文
128 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
laj0600310219 2011-06-28
  • 打赏
  • 举报
回复
我吧SQL语句打印出来 然后执行 就每次加1 可是这个就不行耶
laj0600310219 2011-06-28
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wxr0323 的回复:]

引用 14 楼 laj0600310219 的回复:

引用 13 楼 wxr0323 的回复:

引用 11 楼 laj0600310219 的回复:

if @Flag=3
begin
if NOT @Where IS NULL and @Where<>''
begin
SET @SQLSTR=N'
SELECT TOP 5 dbo.Keyword.Keywords,……
[/Quote]高手 不是哦 我单独执行 还是每行都加四 这是个什么原因哦
子夜__ 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 laj0600310219 的回复:]

引用 13 楼 wxr0323 的回复:

引用 11 楼 laj0600310219 的回复:

if @Flag=3
begin
if NOT @Where IS NULL and @Where<>''
begin
SET @SQLSTR=N'
SELECT TOP 5 dbo.Keyword.Keywords,count
FROM Keyword
WHERE 1=……
[/Quote]
单独执行这个
UPDATE [BuildNetHouse].[dbo].[Keyword]
SET [Count] =[Count]+1 WHERE id in (SELECT TOP 5 dbo.Keyword.ID
FROM Keyword
WHERE 1=1 '+@Where+'
order by dbo.Keyword.Placeholder desc '+@OrderBy1+')'
看是不是每一列都+1
laj0600310219 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wxr0323 的回复:]

引用 11 楼 laj0600310219 的回复:

if @Flag=3
begin
if NOT @Where IS NULL and @Where<>''
begin
SET @SQLSTR=N'
SELECT TOP 5 dbo.Keyword.Keywords,count
FROM Keyword
WHERE 1=1 '+@Where+'
order by d……
[/Quote]每次都加四 我快郁闷了 第一次从0变4 第二次 变8 请高手指教
子夜__ 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 laj0600310219 的回复:]

if @Flag=3
begin
if NOT @Where IS NULL and @Where<>''
begin
SET @SQLSTR=N'
SELECT TOP 5 dbo.Keyword.Keywords,count
FROM Keyword
WHERE 1=1 '+@Where+'
order by dbo.Keyword.Placeholder d……
[/Quote]
每一次加4?还是每次运行完之后就是4
laj0600310219 2011-06-27
  • 打赏
  • 举报
回复
我希望大家能够帮助我解决哦
laj0600310219 2011-06-27
  • 打赏
  • 举报
回复
if @Flag=3
begin
if NOT @Where IS NULL and @Where<>''
begin
SET @SQLSTR=N'
SELECT TOP 5 dbo.Keyword.Keywords,count
FROM Keyword
WHERE 1=1 '+@Where+'
order by dbo.Keyword.Placeholder desc '+@OrderBy1+'

UPDATE [BuildNetHouse].[dbo].[Keyword]
SET [Count] =[Count]+1 WHERE id in (SELECT TOP 5 dbo.Keyword.ID
FROM Keyword
WHERE 1=1 '+@Where+'
order by dbo.Keyword.Placeholder desc '+@OrderBy1+')
'
--执行查询串并输入参数
set @Result=0
set @Result1=@SQLSTR
EXEC sp_executesql @SQLSTR
EXEC sp_executesql @SQLSTR
end
else
begin
set @Result=1
end
end 为什么我每次查出来之后 更新都每次加4呢 这是为什么呢
qydvip 2011-06-25
  • 打赏
  • 举报
回复
不懂 帮顶
syb1045 2011-06-25
  • 打赏
  • 举报
回复
Mark
md5e 2011-06-24
  • 打赏
  • 举报
回复

string query=string.Format("UPDATE [BuildNetHouse].[dbo].[Keyword] SET [Count] =isnull([Count],0) + 1 WHERE id in (SELECT TOP 5 dbo.Keyword.ID FROM Keyword WHERE 1=1 {0} order by dbo.Keyword.Placeholder desc {1})",Where,OrderBy1)
laj0600310219 2011-06-24
  • 打赏
  • 举报
回复
关键是怎么实现
confidenceyu 2011-06-24
  • 打赏
  • 举报
回复
那你就修改了五条数据之后 直接在次数上加1就好了
qgqch2008 2011-06-24
  • 打赏
  • 举报
回复
UPDATE [BuildNetHouse].[dbo].[Keyword]
SET [Count] = CASE WHEN [Count] IS NULL THEN 1 ELSE [Count]+1 END
WHERE id in (SELECT TOP 5 dbo.Keyword.ID
FROM Keyword
WHERE 1=1 '+@Where+'
order by dbo.Keyword.Placeholder desc '+@OrderBy1+')
不知道是不是这个意思?楼主是不是应该把count字段设默认值为0啊?
md5e 2011-06-24
  • 打赏
  • 举报
回复
看不懂你这个是存储过程呢,还是SQL语句
laj0600310219 2011-06-24
  • 打赏
  • 举报
回复
我晕 我当然知道了 SET [Count] =isnull([Count],0)+ 1
没有看我些的代码吗
我是要一次更新5条 我指定的ID 明白吗
md5e 2011-06-24
  • 打赏
  • 举报
回复
SET [Count] =isnull([Count],0)+ 1
ycproc 2011-06-24
  • 打赏
  • 举报
回复
for update锁表

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧