我想向表的 2 列添加 12 个学分。我想每 6 个月做一次。但是作业计划属性中似乎没有这样的选项。
另外,如果我想向管理员显示贷记和借记的日志,工作说明应该是什么。更好地解释在:
编辑: 解决了一半的问题,这是另一半。
应该向管理员显示每个用户帐户中发生的休假的贷记和借记记录,例如日志。我如何在网格视图或表格中或以任何方式显示它?例如,当管理员登录并选择一个员工姓名来查看他们的休假资产负债表时,它应该如下所示

现在,管理员应该能够在员工兑现休假时添加休假,方法是单击“贷记休假”按钮。此外,应显示年度日志,并在更改年份时显示该年度的日志。
请给我一些有关此服务器代理作业的步骤的想法。
运行SQL Server 2014.如何从表中插入多行并将插入的数据与新ID组合?
让我们看一个精简的例子吧!
DECLARE @Old TABLE
(
[ID] [int] PRIMARY KEY,
[Data] [int] NOT NULL
)
DECLARE @New TABLE
(
[ID] [int] PRIMARY KEY,
[OtherID] [int] NULL
)
INSERT INTO [dbo].[Test] ([Data])
OUTPUT inserted.[ID], [@Old].[ID] /* <--- not supported :( */ INTO @New
SELECT [Data]
FROM @Old
Run Code Online (Sandbox Code Playgroud)
我需要将插入的ID与正在插入的数据相结合.我可以假设插入的行与所选行的顺序相同吗?([Data]插入操作后我将无法加入.)
以下似乎是一个可能的解决方案,但我找不到它的工作原理.它保证有效吗?
DECLARE @Old TABLE
(
[RowID] [int] PRIMARY KEY IDENTITY, -- Guaranteed insert order?
[ID] [int] NOT NULL,
[Data] [int] NOT NULL
)
DECLARE @New TABLE …Run Code Online (Sandbox Code Playgroud) 一般问题
迁移到SQL Server 2014之后,执行之前为SQL Server 2008 R2中的每次执行产生不同结果的CLR标量函数,现在为每个后续调用生成相同的结果.
测试/插图
DECLARE @i int = 0;
WHILE @i < 10
BEGIN
print dbo.getEligLoadTXID();
--> Simulate delay as this code never gets called more than once every few seconds in our environment
WAITFOR DELAY '00:00:00.1';
SET @i += 1;
END;
Run Code Online (Sandbox Code Playgroud)
我们目前正在将环境从SQL Server 2008 R2升级到SQL Server 2014.我们遇到的一个问题是特定于CLR标量函数的执行.功能相对简单; 它正在根据刻度数生成一个内部ID(让我们不要争论这个函数的需要/目的).
在SQL Server 2008 R2环境中,在循环中执行函数会返回预期结果(每次执行都会产生新值).但是,在我们新的SQL Server 2014环境中进行测试时,相同的代码会为循环中的每次执行返回SAME值.
SQL Server 2008 R2中的结果:
20161213502167209995
20161213502168210095
20161213502169210195
20161213502170210295
20161213502171210395
20161213502172210495
20161213502173210595
20161213502174210695
20161213502175210795
20161213502176210895
Run Code Online (Sandbox Code Playgroud)
SQL Server 2014中的结果:
20161213502199924787
20161213502199924787
20161213502199924787
20161213502199924787 …Run Code Online (Sandbox Code Playgroud) 我比较这两次,如果它小于或大于彼此,但它没有.为什么?
if(@OpeningTime < @ExpiryTime)
Begin
Raiserror('Opening time cannot be smaller than expiry time', 16,10);
return
End
Run Code Online (Sandbox Code Playgroud)
两者都是varchar(10)
时间过去就像早上10点和上午11点
我有一个表(Sql server 2014),有6000万个数据.在获取我得到的数据时
"执行批处理时发生错误.错误信息是:抛出了类型'System.OutOfMemoryException'的异常."
任何人都可以帮忙吗?
我试图根据下面的角色查询表格,但我收到这样的错误
'='附近的语法不正确.
我不知道为什么我会收到这个错误
下面是我的查询
CREATE procedure [dbo].[getName]
@AccountId int,
@role varchar(50),
@Activated_By nvarchar(100)
AS
BEGIN
SELECT Name
FROM pass_activationinfo
WHERE
CASE WHEN @role = 'Admin'
THEN account_id = @AccountId
ELSE Activated_By = @Activated_By
END
END
Run Code Online (Sandbox Code Playgroud) 我在桌子上有这样的东西
COUNTRY SCOPE1 SCOPE2 SCOPE3 SCOPE4 SCOPE5
UK Y NULL NULL NULL NULL
UK NULL Y NULL NULL NULL
UK NULL NULL Y NULL NULL
Run Code Online (Sandbox Code Playgroud)
我需要输出为单行
COUNTRY SCOPE1 SCOPE2 SCOPE3 SCOPE4 SCOPE5
UK Y Y Y NULL NULL
Run Code Online (Sandbox Code Playgroud)
任何人都可以在MS SQL Server 2014中为此提供帮助吗?
我正在使用一个包含varchar的列的视图,该列可以具有类似8.60或V或的值NULL.
我正在尝试创建一个select语句,在可能的情况下将值转换为数字,否则返回原始值.
所以我想出了这个测试查询:
SELECT
CASE
WHEN ISNUMERIC('V') = 1
THEN cast(round('V', 1) as numeric(4,1))
ELSE 'V'
END
as Value;
Run Code Online (Sandbox Code Playgroud)
我希望它返回V,但我得到一个错误:Error converting data type varchar to numeric.
我试图玩弄TRY_PARSE和TRY_CAST,并与round和cast没有成功.错误似乎与THEN子句有关,因为没有,它不会抛出错误.
我该怎么写这个查询?
SQL版本: Microsoft SQL Server 2014(SP2-GDR)(KB4019093) - 12.0.5207.0(X64)
使用:Microsoft SQL Server Management Studio v12.0.2000.8
获取表中所有行计数的查询是否必须执行全表扫描,或者SQL Server是否在某处保留了行数?
SELECT COUNT(*) FROM TABLE_NAME;
Run Code Online (Sandbox Code Playgroud)
该表TABLE_NAME有一个主键,因此是一个聚簇索引,如下所示:
CREATE TABLE TABLE_NAME
(
Id int PRIMARY KEY IDENTITY(1, 1),
Name nvarchar(50) NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
我正在使用Microsoft SQL Server 2014.
sql-server-2014 ×10
sql-server ×9
sql ×4
t-sql ×4
asp.net ×1
c# ×1
database ×1
numbers ×1
sqlclr ×1