在下面的语法中,When Matched
如果更新表中的值与员工表中的值不同,是否可以只更新?类似于我下面的 DDL - 但当然这会引发错误并且不起作用。
我应该在语法中更新什么以仅更新不同的行?我想要的更新不是迭代匹配的每一行,而是emp44 & emp55
因为地址不同而只更新。
出现的错误是
消息 156,级别 15,状态 1,第 24 行
关键字“WHERE”附近的语法不正确。
句法
DECLARE @Emp Table (empid varchar(10), empaddress varchar(100))
Insert Into @Emp Values
('emp11', '111 No Blue'),
('emp22', '222 No Blue'),
('emp33', '333 No Blue'),
('emp44', '444 No Blue'),
('emp55', '555 No Blue');
Declare @EmpUpdates TABLE (empid varchar(10), empaddress varchar(100))
Insert Into @EmpUpdates Values
('emp11', '111 No Blue'),
('emp22', '222 No Blue'),
('emp33', '333 No Blue'),
('emp44', '999 No Blue'),
('emp55', …
Run Code Online (Sandbox Code Playgroud) 我以为你只需要用 a 分隔两个文件名,;
但我的语法失败并出现错误
Msg 102, Level 15, State 1, Line 251
Incorrect syntax near '@filename2'.
Run Code Online (Sandbox Code Playgroud)
这是我的完整语法,我需要做什么才能将两个文件附加到我的电子邮件中?
Declare @filename1 varchar(max), @filename2 varchar(max)
Set @filename1 = 'C:\Testfiles\Test1.csv'
Set @filename2 = 'C:\Testfiles\Test2.csv'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Mod',
@from_address = 'modis@modisglobal.com',
@recipients= 'rsmith@gmail.com',
@subject= 'Test Email',
@body = @body1,
@file_attachments = @filename1;@filename2;
Run Code Online (Sandbox Code Playgroud) 我在表中添加了一个计算字段,并且只想更新NULL
行(或“新”行)。出了点问题,DateTime
当插入 1 行时,我的表中的每一行都用当前更新。这是Create Table
语法,我必须做什么才能仅使用当前更新“新”行DateTime
CREATE TABLE [dbo].[SE](
[dbID] [int] IDENTITY(1,1) NOT NULL,
[uqID] [varchar](31) NOT NULL,
[POD] [varchar](255) NULL,
[EC] [varchar](255) NULL,
[S1] [varchar](35) NULL,
[S2] [varchar](35) NULL,
[S3] [varchar](35) NULL,
[S4] [varchar](35) NULL,
[S5] [varchar](35) NULL,
[S6] [varchar](35) NULL,
[S7] [varchar](35) NULL,
[PSD] [varchar](50) NULL,
[DS] [datetime] NULL,
[CN] [varchar](max) NULL,
[autodate] AS (getdate()),
PRIMARY KEY CLUSTERED
(
[dbID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = …
Run Code Online (Sandbox Code Playgroud) sql-server t-sql sql-server-2008-r2 default-value computed-column
我想执行我的 select 语句,但也将返回的行数存储到一个变量中。这就是我的 DDL 的设置方式,如何将 Select 语句中的行数存储在我的变量中@returnedrows
Declare @returnedrows int;
Insert Into pinkpurplegreen (field1, field2, field3, field4, field5)
Select field1, field2, field3, field4, field5
FROM blue
Select * FROM pinkpurplegreen
Run Code Online (Sandbox Code Playgroud)