标签: sql-server

如何以编程方式确定SQL表具有标识列的内容

我想在SQL Server 2005中创建一个列列表,其中包含标识列及其在T-SQL中的相应表.

结果将是这样的:

TableName,ColumnName

t-sql sql-server metadata identity-column

97
推荐指数
4
解决办法
12万
查看次数

SQL Server 2008:如何为用户名授予权限?

我需要能够通过SQL Server身份验证建立ODBC连接.

在SSMS中,如何授予用户在特定数据库上拥有所有权限的权限?

有没有办法用SSMS以图形方式做到这一点?

sql sql-server ssms sql-server-2008

97
推荐指数
3
解决办法
34万
查看次数

从datetime减去一天

我有一个查询来获取2个日期时间之间的日期差异:

SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())

Ex :

SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())
Run Code Online (Sandbox Code Playgroud)

我需要有一个这样的查询工作,它将从创建日减去一天:

SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
Run Code Online (Sandbox Code Playgroud)

sql sql-server datetime

97
推荐指数
5
解决办法
36万
查看次数

我应该索引SQL Server中的位字段吗?

我记得在某一点上读取索引具有低基数(少量不同值)的字段并不值得做.我承认我对索引如何理解为什么不够了解.

那么,如果我有一个包含1亿行的表,并且我选择位字段为1的记录呢?让我们说在任何时间点,只有少数记录位字段为1(而不是0).是否值得索引该位字段?为什么?

当然我可以测试它并检查执行计划,我会这样做,但我也很好奇它背后的理论.什么时候基数很重要,什么时候不重要?

sql-server indexing

96
推荐指数
6
解决办法
3万
查看次数

如何在列(SQL Server 2008 R2)上创建唯一约束?

我有SQL Server 2008 R2,我想设置一个唯一的列.

似乎有两种方法可以做到这一点:"唯一索引"和"唯一约束".尽管大多数人都推荐使用唯一约束,但它们与我的理解并没有太大差别,因为您也会自动获得索引.

如何创建唯一约束?

ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name)
Run Code Online (Sandbox Code Playgroud)

有没有办法通过SQL Server Management Studio创建唯一约束?

sql sql-server unique-constraint sql-server-2008

96
推荐指数
4
解决办法
16万
查看次数

为数据库中的所有存储过程授予用户执行权限?

我从旧数据库生成脚本,创建了一个新数据库并从旧数据库导入了所有数据.然而,到目前为止,没有用户拥有存储过程的执行权限.我知道我可以使用

GRANT EXECUTE ON [storedProcName] TO [userName] 
Run Code Online (Sandbox Code Playgroud)

但是,如果它只是一些程序,那么我有大约100个,那么对于特定用户授予所有这些权限的最简单方法是什么?

提前致谢.

sql sql-server sql-server-2000

96
推荐指数
4
解决办法
27万
查看次数

如何在SQL Server 2008 R2中使用CONCAT功能?

CONCAT在SQL Server 2008 R2中寻找一个功能.我找到了这个功能的链接.但是当我使用此函数时,它会出现以下错误:

消息195,级别15,状态10,行
7'CONCAT'不是公认的内置函数名称.

CONCAT功能是否存在于SQL Server 2008 R2中?

如果没有,我如何连接SQL Server 2008 R2中的字符串?

t-sql sql-server sql-server-2008

96
推荐指数
5
解决办法
26万
查看次数

带row_number()的SQL更新

我想用增量号更新我的列CODE_DEST.我有:

CODE_DEST   RS_NOM
null        qsdf
null        sdfqsdfqsdf
null        qsdfqsdf
Run Code Online (Sandbox Code Playgroud)

我想将其更新为:

CODE_DEST   RS_NOM
1           qsdf
2           sdfqsdfqsdf
3           qsdfqsdf
Run Code Online (Sandbox Code Playgroud)

我试过这段代码:

UPDATE DESTINATAIRE_TEMP
SET CODE_DEST = TheId 
FROM (SELECT  Row_Number()   OVER (ORDER BY [RS_NOM]) AS TheId FROM DESTINATAIRE_TEMP)
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为 )

我也尝试过:

WITH DESTINATAIRE_TEMP AS
  (
    SELECT 
    ROW_NUMBER() OVER (ORDER BY [RS_NOM] DESC) AS RN
    FROM DESTINATAIRE_TEMP
  )
UPDATE DESTINATAIRE_TEMP SET CODE_DEST=RN
Run Code Online (Sandbox Code Playgroud)

但由于结合,这也行不通.

如何使用ROW_NUMBER()SQL Server 2008 R2中的函数更新列?

sql-server sql-server-2008-r2 sql-update

96
推荐指数
6
解决办法
15万
查看次数

将数据库模式导出到SQL文件中

是否可以MS SQL Server 2008将数据库结构导出到T-SQL文件中?

我不仅要导出表模式,还要导出主键,外键,约束,索引,存储过程,用户定义的类型/函数.

此外,我不希望数据出现在此T-SQL文件中.

有没有办法实现这一目标?

sql t-sql database sql-server export

95
推荐指数
2
解决办法
16万
查看次数

如何从薪资表中找到第三或第n个最高薪水?

如何以优化的方式third or nth从薪水table(EmpID,EmpName,EmpSalary)中找到最高薪水?

sql sql-server sql-server-2008

95
推荐指数
13
解决办法
85万
查看次数