标签: sql-update

使用另一个表中的变量基于计算更新一个mysql表

我正在尝试根据另一个表中的值更新一个表.以下请求有什么问题?错误:Unknown column 'source.col3' in 'where clause'

UPDATE target 
  SET target.col1 = source.col1 * target.col2,
WHERE target.col3 = source.col3
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-update

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

恢复更新的数据 - SQL Server 2005

我有一个问题,在使用sql server 2005时,我已执行更新查询而没有where子句(错误地)并且列的所有原始值都丢失了.

我怎样才能得到旧值?

欢迎提出任何建议/提示/解决方案,我们将不胜感激.

sql sql-server sql-server-2005 database-update sql-update

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

Mysql结合更新查询

mysql_query("UPDATE rekod SET ns = '1' WHERE zone ='255' AND data ='$id1'");
mysql_query("UPDATE rekod SET ns = '1' WHERE zone ='255' AND data ='$id2'");
Run Code Online (Sandbox Code Playgroud)

而不是两次运行查询是否有一种方法可以只更新一次?差异只是数据值.请帮帮我?

php mysql sql-update

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

如何根据使用触发器修改的记录的值更新另一个表上的记录

我有两个简单的(仅用于解释我的问题)表

  1. X与列(以及其他):IDX,CODE,NUMBER
  2. Y与列(以及其他):CODE,NUMBER,id_fromX

我想(在插入或更新表X之后)更新表Y使用来自X的实际记录中的变量.为此,我尝试使用触发器(在表X中),如下所示:

SET TERM ^^ ;
CREATE TRIGGER XYZFOR X ACTIVE AFTER INSERT OR UPDATE POSITION 0 AS
begin
  if  (new.CODE is distinct old.CODE)  then
  BEGIN
  EXECUTE STATEMENT ('UPDATE Y SET CODE=:old.CODE, id_fromX=:old.IDX WHERE NUMBER=:old.NUMBER');
  END
end ^^
Run Code Online (Sandbox Code Playgroud)

但我从服务器收到错误:

Execute statement error at jrd8_prepare :\
335544569 : Dynamic SQL Error
335544436 : SQL error code = -104
335544634 : Token unknown - line 1, column 23
335544382 : .
Statement : UPDATE Y SET CODE=:old.CODE, id_fromX=:old.IDX WHERE NUMBER=:old.NUMBER\ …
Run Code Online (Sandbox Code Playgroud)

firebird triggers sql-update

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

基于SELECT结果的UPDATE

我正在尝试根据自身的子查询来更新表.所以我需要将子查询的结果作为UPDATE语句中的参数.

我在下面尝试过没有成功:

UPDATE xx
INNER JOIN (
    SELECT r.id as id, w.state as state
    ...
) yy
SET xx.state = yy.state WHERE xx.id = yy.id;
Run Code Online (Sandbox Code Playgroud)

编辑: 完整查询:

UPDATE dpcio_request xx
INNER JOIN (
    SELECT r.id as id, w.state as state
    FROM dpcio_request r
    JOIN dpcio_request_wf w
    ON (w.dpcio_request_id = r.id)
    WHERE w.id IN ( SELECT MAX(id)
            FROM `dpcio_request_wf`
            GROUP BY dpcio_request_id )
    ) r2 ON r1.id = r2.id
) yy ON yy.id = xx.id
SET xx.state = yy.state;
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-update

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

SQL:如何通过计算更新所有行?

我想在添加total price了基于该顺序比萨饼秩序sub-totaltax.我一直在收到错误,说明子查询使用此命令返回的值超过1:

DECLARE @orderTotal AS INT
SET @orderTotal = (SELECT(SUM((orderSubtotal+tax) * (1 - discountAmount)))
                   FROM OrderProcessing GROUP BY orderID)
UPDATE OrderProcessing
SET orderTotalAmount = @orderTotal
Run Code Online (Sandbox Code Playgroud)

discountAmount等于0.2表示20%折扣的十进制数.

sql t-sql sql-server sql-update

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

确保在PL / SQL中仅更新一行?

UPDATE在Oracle 11g服务器上运行的语句很长:

UPDATE Table SET Column1 = 'One' WHERE Column2 = 'Example';
UPDATE Table SET Column1 = 'Two' WHERE Column2 = 'Something';
-- ...
Run Code Online (Sandbox Code Playgroud)

我想检查每个UPDATE行是否恰好影响了一行(不为零,不超过一行),如果它没有停止执行,则引发错误并回滚所有更新。

我希望这样的语法:

UPDATE Table SET Column1 = 'One' WHERE Column2 = 'Example';
ASSERT sql%rowcount = 1;
Run Code Online (Sandbox Code Playgroud)

那似乎不存在,所以也许我应该做这样的事情:

UPDATE Table SET Column1 = 'One' WHERE Column2 = 'Example';
IF sql%rowcount != 1 THEN
  -- Do something, but what?
END IF;
Run Code Online (Sandbox Code Playgroud)

但是,我不确定在IF语句中添加什么,或者这是否是一个好方法。那么,实现这一目标的最优雅的方法是什么?

sql oracle plsql sql-update

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

如何每2秒更新15行?

在Oracle DB上,如果我有一个具有任意行数的表.什么是运行更新查询,将更新前15行,然后等待2秒钟,然后更新接下来的15行,然后等待2秒钟,然后更新接下来的15个...行等最简单的方法?

sql oracle rows oracle11g sql-update

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

sql更新与内部联接和哪里

UPDATE newsreactions
SET newsreactions.enabled = '0'
FROM newsreactions
INNER JOIN users ON newsreactions.memberId = users.id
WHERE users.active =  '0' AND users.comment LIKE  '%spam%'
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我收到语法错误:

1064-您的SQL语法有误;检查与您的MySQL服务器版本对应的手册以获取正确的语法,以在第3行“ FROM newsreactions INNER JOIN用户ON newsreactions.memberId = users.id WHERE u”附近使用

虽然不知道。如果我更换update,并setselect它工作正常。

mysql sql syntax-error sql-update

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

在“ UPDATE”或附近的psycopg2语法错误

我已经读过一些有关“语法错误在或附近”的问答,但是没有一个可以解决我的问题。

错误示例:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
psycopg2.ProgrammingError: syntax error at or near "UPDATE"
LINE 1: DECLARE "teste" CURSOR WITHOUT HOLD FOR UPDATE applicant SET...
                                                ^
Run Code Online (Sandbox Code Playgroud)

请注意^右侧的UPDATE。我已经测试了更新脚本,pgadmin 4并且一切正常。

该脚本非常简单:

UPDATE applicant
SET cv_recrutai_entities = %s
WHERE id = %s
Run Code Online (Sandbox Code Playgroud)

我的代码基本上是:

def _connect_database():
    return psy.connect(
        dbname=settings.DATABASE['DBNAME'],
        host=settings.DATABASE['HOST'],
        port=settings.DATABASE['PORT'],
        user=settings.DATABASE['USER'],
        password=settings.DATABASE['PASSWORD'],
        application_name=settings.env
    )

# Connects to database
conn = _connect_database()
# Creats a named cursor
cur = conn.cursor('test')

# Execute …
Run Code Online (Sandbox Code Playgroud)

python postgresql psycopg2 sql-update

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