我在sql server 2012中有一个sql表,我需要重命名.我知道在其他数据库系统中执行此操作的方法如下:
ALTER TABLE table_name
RENAME TO new_table_name;
Run Code Online (Sandbox Code Playgroud)
但是,似乎SQL Server需要不同的语法.从SQL Management Studio我在设计视图中重命名了表,然后右键单击Generate Change Script,它产生了以下内容:
BEGIN TRANSACTION
GO
EXECUTE sp_rename N'table_name', N'new_table_name', 'OBJECT'
GO
ALTER TABLE new_table_name SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
Run Code Online (Sandbox Code Playgroud)
使用sp_rename是重命名的最佳实践吗?
还有一个额外的行来生成lock_esclation = table.这需要吗?
我有一个List<UserRoles> roles具有这种结构的列表
{r:1,u:1,v:3},
{r:1,u:1,v:5},
{r:2,u:1,v:9},
{r:3,u:2,v:10}
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个LINQ语句,它只过滤掉值为1和2的"r",并返回一组"v"的整数/字符串
这就是我想要做的事情,而我的问题在于我想要转换为仅包含相应的"v"的部分.
List<Int32> = roles.Where(r => r.r == 1 || r.r == 2)
.Select(i => new Int32{id = i.v});
Run Code Online (Sandbox Code Playgroud)
这不会使用'id'未知错误进行编译.
我需要的最终结果是:
List<Int32>
{v:3},
{v:5},
{v:9}
Run Code Online (Sandbox Code Playgroud)