【发布时间】:2020-05-13 09:33:43
【问题描述】:
我正在尝试写这样的东西:
string AT2 = string.Format("UPDATE User_Info SET Admin = 1 WHERE (Row_Number = N'{1}'+N'{0}')", x, 1);
上面还有这个:
string cmdStr = "SELECT Firstname, Lastname, Username, Password, Email, Phone, Admin, id, ROW_NUMBER() as 'Row_Number' FROM User_Info";
我收到此错误:
函数“ROW_NUMBER”必须有一个 OVER 子句。
有人知道为什么吗?所以我需要在我的表中添加一些东西..?还是换个方式写?
我的桌子:
CREATE TABLE [dbo].[User_Info]
(
[Username] NVARCHAR (50) NOT NULL,
[Password] NVARCHAR (50) NOT NULL,
[Firstname] NVARCHAR (50) NOT NULL,
[Lastname] NVARCHAR (50) NOT NULL,
[Email] NVARCHAR (50) NOT NULL,
[Country] NVARCHAR (50) NOT NULL,
[Phone] NVARCHAR (50) NOT NULL,
[Gender] NVARCHAR (50) NOT NULL,
[Admin] INT NULL,
[id] INT IDENTITY (1, 1) NOT NULL,
PRIMARY KEY CLUSTERED ([Username] ASC)
);
【问题讨论】:
-
您的数据库是什么?你认为
row_number是什么? -
我认为它像
.Rows[x] -
样本数据、期望的结果和对逻辑的解释会有所帮助。显然,您的代码没有名为
row_number的列。但除此之外,还不清楚您要做什么。 -
我的网站上有一个管理页面。我希望更新按钮将对每个检查的用户运行查询并将其
Admin值更改为 1
标签: sql sql-server tsql window-functions