标签: sql-update

Update语句中int的NULL值

是否可以在update语句中为int列设置NULL值?

在这种情况下如何编写更新语句?

sql sql-update

22
推荐指数
2
解决办法
11万
查看次数

SQL存储过程:如果变量不为null,则更新语句

我在存储过程中有一个更新语句,看起来像这样:

Update [TABLE_NAME]
Set XYZ=@ABC
Run Code Online (Sandbox Code Playgroud)

如果变量不为null或值为-1,是否有一种只触发update语句的好方法?

类似于一个IF NOT EXISTS...INSERT问题.

非常感谢.

sql t-sql stored-procedures sql-update

22
推荐指数
3
解决办法
10万
查看次数

如何在SQL-Update语句中处理 - 转义单引号和双引号

我有这个示例T-SQL查询并在SQL-Server-2008上尝试此操作.

DECLARE nvarchar(1000) @wstring = "I asked my son's teacher, "How is my son doing now?"" 

UPDATE tablename SET columnname = ' " & @wstring & " ' where ... blah ... blah
Run Code Online (Sandbox Code Playgroud)

我知道上面的查询会抛出错误.

那么我如何处理 - 在SQL-Update语句中转义单引号和双引号.

请不要建议在每个报价之前手动添加"斜杠"或单引号,以及bouble-quote.

这是不切实际的,因为上面的示例只是一个sAmple,实际应用程序值超过1000个字符,这将从其他系统源接收.

sql-server-2008 sql-update

22
推荐指数
2
解决办法
11万
查看次数

更新语句以更新多行

我对以下语法有疑问.是否有更简洁的方法将其汇总到一个语句而不是两个语句中.我已经尝试了几次迭代,但这似乎是我成功执行这两个语句的唯一方法.

UPDATE employee
SET hire_date = '1979-03-15'
WHERE emp_id = 'PMA42628M' 

UPDATE employee
SET hire_date = '1988-12-22'
where emp_id = 'PSA89086M'; 
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个,我也尝试使用AND语句.都没有奏效.基本上我正在寻找一种不那么新手的方式然后上面的方法,如果存在的话.我花了很长时间搜索,却找不到一个.

UPDATE employee
SET hire_date = ('1979-03-15', '1988-12-22')
WHERE emp_id = ('PMA42628M', 'PSA89086M');
Run Code Online (Sandbox Code Playgroud)

对这个提出任何建议,顺便说一句,我使用的是sql server.谢谢

sql-server sql-update

22
推荐指数
3
解决办法
5万
查看次数

MySQL - 根据子查询更新值

假设我有选择,它从table1返回我:

ID  Name
 1  Bob
 2  Alice
 3  Joe
Run Code Online (Sandbox Code Playgroud)

然后我希望基于此结果在另一个表中的UPDATE值:

UPDATE table2 SET Name = table1.Name WHERE ID = table1.ID
Run Code Online (Sandbox Code Playgroud)

据我所知,我只能在一个地方进行内部选择,例如:

UPDATE table2 SET Name = (select Name from table1) WHERE ...
Run Code Online (Sandbox Code Playgroud)

我不知道如何指定WHERE条件.

mysql select sql-update

22
推荐指数
2
解决办法
7万
查看次数

SQL内部连接具有多个列条件和更新的2个表

我正在使用此脚本,尝试连接2个表,其中包含3个条件并更新T1:

Update T1 set T1.Inci = T2.Inci 
ON T1.Brands = T2.Brands 
AND T1.Category= T2.Category
AND T1.Date = T2.Date
Run Code Online (Sandbox Code Playgroud)

但我遇到了:

Incorrect syntax near the keyword 'ON'.

无法弄明白为什么.

sql inner-join sql-update

21
推荐指数
2
解决办法
9万
查看次数

MySQL Update Column +1?

我想知道将列更新为+1的最简单方法是什么?我将根据用户提交新帖子的时间更新类别的帖子数.

谢谢.

mysql sql aggregate-functions sql-update

21
推荐指数
4
解决办法
9万
查看次数

使用SQL批量更新记录

我在SQL Server 2008环境中有两个表,具有以下结构

Table1
- ID
- DescriptionID
- Description

Table2
- ID
- Description
Run Code Online (Sandbox Code Playgroud)

Table1.DescriptionID映射到Table2.ID.但是,我不再需要了.我想进行批量更新,将Table1的Description属性设置为Table2中与之关联的值.换句话说,我想做这样的事情:

UPDATE
  [Table1] 
SET
  [Description]=(SELECT [Description] FROM [Table2] t2 WHERE t2.[ID]=Table1.DescriptionID)
Run Code Online (Sandbox Code Playgroud)

但是,我不确定这是否是合适的方法.有人能告诉我怎么做吗?

sql sql-server sql-update

21
推荐指数
2
解决办法
11万
查看次数

在更新语句中使用交叉应用

是否可以在SQL Server 2005中的更新语句的from部分中使用cross apply子句?

sql-server sql-server-2005 cross-apply sql-update

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

如何更新记录的所有列而不必列出每列

我试图找出是否有办法更新记录,而不必列出要更新的每个列名称.

例如,如果我可以使用类似的东西,那将是很好的:

// the parts inside braces are what I am trying to figure out
UPDATE Employee
SET {all columns, without listing each of them} 
WITH {this record with id of '111' from other table}
WHERE employee_id = '100'
Run Code Online (Sandbox Code Playgroud)

如果可以这样做,那么编写此类查询的最直接/最有效的方法是什么?

sql sql-update

21
推荐指数
2
解决办法
4万
查看次数