小编gbn*_*gbn的帖子

在SQL Server 2008中从单行设置多个标量变量?

在触发器中,我有以下代码:

SET @var1 = (SELECT col1 FROM Inserted);
SET @var2 = (SELECT col2 FROM Inserted);
Run Code Online (Sandbox Code Playgroud)

是否可以将上述内容写入一行?概念上喜欢的东西:

SET (@var1,@var2) = (SELECT col1,col2 FROM Inserted);
Run Code Online (Sandbox Code Playgroud)

显然,我尝试了上述方法,没有成功; 我只是坚持使用第一种方法吗?

即使可能,这是一个好主意吗?

谢谢!

sql t-sql sql-server sql-server-2008

4
推荐指数
1
解决办法
2383
查看次数

如何防止超出范围的日期时间值错误?

我正在从c#应用程序传递一个特殊的Insert语句到sql server 2000/2005.有时,如果机器(安装了sql server)的datetime格式与我传入的不同,则会抛出错误.

例如:在插入声明中,我传递的是"2010-03-10 00:00:00-05:00",但机器区域日期设置不同.我收到这个错误: -

将char数据类型转换为datetime数据类型会导致日期时间值超出范围.

我可以在c#的Insert语句中传递一些通用日期格式,它与任何机器的区域日期时间设置完美配合.

c# t-sql sql-server datetime sql-server-2005

4
推荐指数
1
解决办法
5122
查看次数

数百个数据库sql server日志发货

SQL Server 2005 Standard 64x,目前有300多个小型数据库(每个5MB),用户群根据需要添加数据库.想要实现热备份的日志传送,而不是通过向导,因为它看起来像每个日志传送的数据库添加3个作业(主要1个,次要2个).

我是否尝试自己编写或使用Quest的LiteSpeed之类的东西?或者我是否因为有数百个SQL Server代理作业并且所有这些作业都被解雇而感到非常苛刻(或者更糟糕的是,我是否必须尝试计时)?

欢迎所有建议.

sql-server sql-server-2005 log-shipping

4
推荐指数
1
解决办法
1894
查看次数

TSQL:在单个表中查找唯一条目

考虑一个如下结构的表格或CTE:

Name    Num
----    ----
Abc     12
Abc     12
XYZ     70
XYZ     80
XYZ     85
Bar     50
Bar     55
Foo     44
Foo     44
Baz     88
Run Code Online (Sandbox Code Playgroud)

要求是确定的名称,其中多个不同的订购数量存在.

期望的结果集是

Name   
----
XYZ     
Bar     
Run Code Online (Sandbox Code Playgroud)

您将使用什么TSQL语句来派生此结果集?

更新:确实,给定名称可能有2个以上的条目.

sql t-sql sql-server aggregate unique

4
推荐指数
1
解决办法
163
查看次数

我想在Microsoft SQL Server中的两个不同的行中交换列的值

我想在Microsoft SQL SERVER中执行以下两个SQL查询

UPDATE Partnerships SET sortOrder = 2 WHERE sortOrder = 1;
UPDATE Partnerships SET sortOrder = 1 WHERE sortOrder = 2;
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,我不允许sortOrder包含相同的值,它是一个唯一的键.我怎么能绕过这个,因为第一个查询违反了唯一的密钥规则并终止了?或者我是否必须摆脱我所拥有的独特关键规则?

谢谢!

t-sql sql-server

4
推荐指数
1
解决办法
1717
查看次数

SQL插入多语言数据 - 丢失变音符号等

将多语言数据插入SQL 2008数据库(nvarchar字段)我注意到它似乎丢失了一些特殊的字符标记.

例如

    INSERT INTO [dbName].[dbo].[tbl_Question_i18n]  
           ([QuestionId]  
           ,[LanguageId]  
           ,[QuestionText])  
     VALUES  
           (@lastinsertedquestionid  
           ,@romanian  
           ,'Num?r unic de referin?? (URN)')  
Run Code Online (Sandbox Code Playgroud)

插入为'Numar unic de referinta(URN)'

虽然如果我"编辑前200行",我可以将相同的文本直接粘贴到该字段中,没有任何问题.

我错过了什么?

sql t-sql sql-server unicode nvarchar

4
推荐指数
1
解决办法
2033
查看次数

Sql Trigger - 它属于哪个表?

在Sql Server 2005触发器中是否有一种方法可以获取触发器在执行期间附加到的表的名称和模式?

sql sql-server triggers sql-server-2005

3
推荐指数
1
解决办法
7011
查看次数

对于价格和价值,使用varchar over decimal是否有任何优势

我和我的朋友争论反对他在varchar中存储价格,价值和其他类似信息的建议.

我的观点是基于

  1. 由于我们需要来回投射,计算将变得困难.
  2. 数据的完整性将丢失.
  3. 索引表现不佳
  4. 排序和聚合函数也需要转换

等等

但他说,在他以前的工作中,每个人都习惯将这些值存储在varchar中,因为DB和APP之间的通信在这种方法中非常有效.(我仍然不能接受这个)

在varchar中存储这些值真的有一些优点吗?

注意:我不是在谈论PhoneNo,ID,邮政编码,SSN等栏目.我知道varchar最适合那些.这些列是基于值的,并且肯定会以某种方式参与计算.

database-design types sql-server-2005

3
推荐指数
1
解决办法
1340
查看次数

SQL Server Right() 函数从列上的某个点删除字符

我正在尝试从“-”字符后的“描述”列中删除文本。我知道我必须使用 Right() 函数,但是循环遍历所有记录并更改 Description 列中的所有记录的语法是什么样的?

例子...

前:

0002    55  Actor Hill - 0002
0004    57  Adair - 0004
0005    74  Adams - 0005
Run Code Online (Sandbox Code Playgroud)

后:

0002    55  Actor Hill 
0004    57  Adair 
0005    74  Adams 
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

3
推荐指数
1
解决办法
2万
查看次数

"死锁受害者"在交易中,如何改变优先权?

我记录了ASP.NET-Application抛出的异常.

消息:事务(进程ID 56)在锁定时死锁 与另一个进程通信缓冲资源并被选为死锁牺牲品.重新运行该交易.

我确定它的原因是,我selects在SSMS中直接运行了一些在同一时间在应用程序中查询的表.

所以现在我的问题是:

  • 我可以更改SQL-Server选择"死锁受害者"的优先级吗?我想选择"我自己"(SSMS)作为死锁受害者而不是ASP.NET,因为它是一个时间关键的应用程序,我更容易重新运行手动查询而不是用户接受错误.

先感谢您.

t-sql sql-server deadlock ssms database-deadlocks

3
推荐指数
1
解决办法
4620
查看次数