标签: sql-server-2008-r2

什么是sql server中的非关键属性

我想知道 sql server 中的非关键属性是什么意思。这个想法与表有关,我很困惑。这是否意味着除主键之外的列

.net sql sql-server sql-server-2008 sql-server-2008-r2

0
推荐指数
1
解决办法
9469
查看次数

SQL Server 触发器不会运行完整的更新语句?

问题:我写了一个触发器,它应该INVOICEINSERT进入表后更新表,LINE但它不会更新发票表。触发器触发但Update语句块不会执行。

我在执行INSERT到行表时进行了调试,并发现一旦它到达UPDATE语句,它就会跳过它并且不运行该代码。几天来,我一直试图弄清楚这一点。

这是我的触发代码

ALTER TRIGGER [dbo].[trgInvoiceInsert] ON [dbo].[LINE]
AFTER INSERT
AS
  declare @linUnits numeric(9,2);
  declare @linPrice numeric(9,2);
  declare @invNum   int;

  select @linUnits = LINE_UNITS from inserted;
  select @linPrice = LINE_PRICE from inserted;
  select @invNum = INV_NUMBER from inserted;
BEGIN
 UPDATE i --From here it jumps to the start of the next Update
    SET INV_SUBTOTAL = INV_SUBTOTAL + (@linUnits * @linPrice)
 FROM dbo.INVOICE as i
 WHERE i.INV_NUMBER = @invNum …
Run Code Online (Sandbox Code Playgroud)

sql t-sql triggers sql-server-2008-r2

0
推荐指数
1
解决办法
595
查看次数

为每个实体选择前N个记录

我有一个table像下面 -


ID   |  Reported Date                  | Device_ID
-------------------------------------------
1    | 2016-03-09 09:08:32.827         | 1
2    | 2016-03-08 09:08:32.827         | 1
3    | 2016-03-08 09:08:32.827         | 1
4    | 2016-03-10 09:08:32.827         | 2
5    | 2016-03-05 09:08:32.827         | 2
Run Code Online (Sandbox Code Playgroud)

现在,我想要一个top 1 row基于date column每个device_ID

预期产出


ID   |  Reported Date                  | Device_ID
-------------------------------------------
1    | 2016-03-09 09:08:32.827         | 1
4    | 2016-03-10 09:08:32.827         | 2
Run Code Online (Sandbox Code Playgroud)

我在用SQL Server 2008 R2.我可以去编写Stored Procedure处理它,但想用简单的查询来做.

****************编辑************************** …

sql sql-server database-administration sql-server-2008-r2

0
推荐指数
1
解决办法
458
查看次数

需要部分日期

我正在使用SQL Server 2008R2.我试图在输出中获取日期的一部分,我的列是datetime数据类型.例如,如果当前日期和时间是2016-06-28 17:34:12.060,那么我需要输出17:00只有小时和:00分钟.

我一直试过这个,直到现在

Select DateName(HH,SUBSTRING('2016-06-28 17:34:12.060',12,5)) +':00'
Run Code Online (Sandbox Code Playgroud)

这给了我正确的输出.但是当我传递datetime数据类型的列名,然后它给出错误,

Select DateName(HH,SUBSTRING(TimeInHour,12,5)) +':00'
Run Code Online (Sandbox Code Playgroud)

给出错误,

对于子字符串函数的参数1,参数数据类型时间无效.

我知道我SUBSTRING()在错误的地方使用,但我真的不知道如何实现那个输出.帮助将非常明显.我需要输出为HH:00,小时将是00分钟以外的任何时间.

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

0
推荐指数
1
解决办法
64
查看次数

从SQL Server 2008 R2中的存储过程存储多个数据集?

这就是我如何在返回单个数据集的过程中将数据集存储在表中.

 CREATE TABLE #TEMP (amount DECIMAL(18, 2), extra VARCHAR(50))  

 INSERT INTO #TEMP (extra, amount)
     EXEC sp_proc @para1, @para2, @para3
Run Code Online (Sandbox Code Playgroud)

现在我可以存储返回两个或多个表的过程中的数据集.如果可能,我该怎么办?

我不打算创建临时全局表,因为我必须改变多个过程.我可以在不改变程序的情况下这样做吗?

sql sql-server sql-server-2008-r2

0
推荐指数
1
解决办法
64
查看次数

'<'附近的语法不正确

我有一个任务是获取一些在SQL Server 2012上正常工作的代码,以便在SQL Server 2008 R2上工作.我收到了这个错误:

附加信息:'<'附近的语法不正确

当我尝试运行我的代码时,我发现我的SQL代码行中出了问题

ALTER TABLE [dbo].[WorkTimeEntries] 
  ADD [TimeFinishedForRuntime] AS ISNULL([TimeFinished],
        IIF ([TimeStarted] < SYSUTCDATETIME(), [dbo].[udf_GetCurrentDateTimeOffsetInTimeZone](DATENAME(TZOFFSET, [TimeStarted])), [TimeStarted]));
Run Code Online (Sandbox Code Playgroud)

我已经读到,在这种情况下,当人们试图获得约会时发生了某种错误,但我不确定我的情况有什么问题.

t-sql sql-server iif sql-server-2008-r2 sql-server-2012

0
推荐指数
1
解决办法
5143
查看次数

SQL - 将字符串转换为日期和时间

我需要将值转换为SQL Server DateTime.

数据如下所示:

  • 20161021-12:55:16.000
  • 20161021-13:22:09.974

我试过了

CONVERT(DATE, '20161021-12:55:16.000', 102) 
Run Code Online (Sandbox Code Playgroud)

它会抛出一个错误.

我可以在SQL中获得帮助,将这些样本转换为有效的日期时间吗?

这些值也是UTC.

我需要将它们转换为EST.

感谢您的帮助.

sql sql-server sql-server-2005 sql-server-2008 sql-server-2008-r2

0
推荐指数
1
解决办法
202
查看次数

为什么这个GUID无效?

AB77085F-C0BB-4C78-B2F2-3H8F6F8D0C28
Run Code Online (Sandbox Code Playgroud)

它是使用NEWID()Sql server 2008 R2函数生成的

在uniqueidentifier字段中不接受它

它对C#中的Guid.TryParse()无效

c# sql-server guid sql-server-2008-r2

0
推荐指数
1
解决办法
645
查看次数

TSQL:这个JOIN如何解决?

我正在做这些连接:

from #lps_at_lines2 as l2
left join jobmatl as jm on l2.item = jm.item
inner join job as j on jm.job = j.job
    and jm.suffix = j.suffix
Run Code Online (Sandbox Code Playgroud)

我不确定联合将如何解决,官方文档就像读取象形文字给我.

我的猜测是,首先#lps_at_lines2得到LEFT JOIN' jobmatl然后以某种方式job得到INNER JOIN'到jm之后.那是对的吗?

sql join sql-server-2008-r2

0
推荐指数
1
解决办法
33
查看次数

SQL Server使列数据不可删除

我正在使用SQL Server 2008 R2.我想使列数据不可删除.是否可以在不使用触发器的情况下使数据不可删除?如果是,请告诉我.

sql sql-server sql-server-2008 sql-server-2008-r2 sql-server-2008r2-express

0
推荐指数
1
解决办法
193
查看次数