标签: sql-update

Oracle SQL Update查询需要数天才能更新

我试图根据来自源的记录更新目标表中的记录.例如,如果传入记录存在于目标表中,我会在目标中更新它们,否则我只需插入.我的源中有超过一百万条记录,而我的目标有4600万条记录.目标表基于日历键进行分区.我使用Informatica实现了这整个逻辑.我发现Informatica代码完全可以很好地查看Informatica会话日志,但它在更新中需要很长时间(更新一百万条记录超过5天).

有关在场景中可以采取哪些措施来改善性能的任何建议?

sql oracle sql-update

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

使用同一个表中的值更新行

我有这样一张桌子:

+------+-------+
|ID    | value |
+------+-------+
| 1    | 150   |
| 2    |       |
| 3    |       |
| 4    |       |
| 5    | 530   |
| 6    | 950   |
| 7    | 651   |
+-------+------+
Run Code Online (Sandbox Code Playgroud)

我想复制最后3个值,最后我的表格如下所示:

+------+-------+
|ID    | value |
+------+-------+
| 1    | 150   |
| 2    | 530   |
| 3    | 950   |
| 4    | 651   |
| 5    | 530   |
| 6    | 950   |
| 7    | …
Run Code Online (Sandbox Code Playgroud)

sql postgresql self-join sql-update

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

更新表中的第n条记录 - sql server

我想update nth记录在一张桌子里

UPDATE ROW_NUMBER(3) table_name SET column1=value1, column2=value2
Run Code Online (Sandbox Code Playgroud)

这不起作用..

sql sql-server sql-update

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

在SQL Server中更新部分String

我需要在SQL Server中更新部分字符串。

我有:

ID   IDCityVisited   Names                    
1    10              Julya,Matheus,Donovan    
2    15              Mary,Donovan,Richard
3    20              John,Bob,Andy
Run Code Online (Sandbox Code Playgroud)

我需要更新Names仅更改的列DonovanPaul并将所有其余字符串保持原样。

谢谢

sql-server sql-update

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

mysql创建一个新行而不是更新现有行

我正在尝试为特定用户更新生物列,但我得到了一个新行.通过类似的问题,但无法解决我的情况.

if (isset($_SESSION['logged_in']) && $_SESSION['name_of_user'] == $profile_name) {
    $pageOwner = true;
}
if (isset($_POST['submit'])) {
    $bio = $_POST['bio'];

    if (empty($bio)) {
        $error = "Missing Bio";
    } else {
        if ($member_bio->num_rows == 1) {

            if ($query = $db->query("UPDATE user_account SET 'bio'='$bio' WHERE 'id_user'='$id'")) {
                $ok_mesg = "Profile has been updated!!!";

            } else {
                $error = "ERROR on our end";
            }
        } else {
            if ($query = $db->query("INSERT INTO user_account (bio) VALUES('$bio')")) {

                $ok_msg = "Profile has been updated";
            } else { …
Run Code Online (Sandbox Code Playgroud)

php mysql sql sql-update sql-insert

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

SQL Server更新触发器不起作用

有一个数据库表有一个更新触发器.每当更新列时,都会自动计算其中一列.

我已经调整了触发器,我想再次在所有行上运行它.在SQL Server Management Studio中,如果我在表上选择"编辑前200行"并编辑其中一行,则更新触发器可以正常工作.但是当我写一个像这样的查询时:

UPDATE MyTable
SET SomeIrrelevantColumn = 0
Run Code Online (Sandbox Code Playgroud)

触发器不起作用,应该由触发器计算的列保持不变.

如何在所有行上手动运行触发器?

编辑:这是触发器:

USE [MY_DATABASE]
GO
/****** Object:  Trigger [dbo].[MY_TABLE_AUER]    Script Date: 04/24/2013 00:05:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[MY_TABLE_AUER] 
   ON  [dbo].[MY_TABLE] 
   AFTER UPDATE
AS 
DECLARE @UPD_COLUMN_A int,
        @INS_COLUMN_A int,
        @UPD_COLUMN_B int,
        @UPD_COLUMN_C varchar(255),
        @UPD_COLUMN_D varchar(255),
        @UPD_COLUMN_E int,
        @UPD_COLUMN_F datetime
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    SELECT @UPD_COLUMN_A …
Run Code Online (Sandbox Code Playgroud)

sql database sql-server triggers sql-update

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

根据另一列中的文本更新数据库中的列?

我有一个int类型的列和一个varchar(255)类型的列.

我是否可以遍历数据库中的每一行并检查varchar(255)列中的某个字符串,如果找到该字符串,则将其在我的int列中找到的行的某个int设置为值我的选择?

因此,如果在行1上找到"abc",我可以将int列值设置为2吗?

任何帮助,将不胜感激,

问候

sql database sql-server sql-update

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

如何获取SQL Server 2008中上次更新的行的ID

我有一个要求,我想获取表中最后更新行的ID,我想使用此id进行其他操作.

我没有像UpdatedOn这样的列,所以我可以引用该列.

那么还有任何函数,比如scope_identity和@@ identity(它给出了我最后插入行id的id).

请帮帮我.

sql sql-server-2008 sql-update

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

Oracle COALESCE或NVL

我有一个存储过程,我只想在参数为NOT NULL时使用SYSDATE更新表中的值.

在下面的SQL中,如果pETime IS为NULL,我想将SYSENDDATE设置为NULL,否则为SYSDATE

UPDATE OLCACT SET 
    ENDDATE    = pETime, 
    SYSENDDATE = SYSDATE, 
    GRD        = pGRD,
    PASS       = v_pass
Run Code Online (Sandbox Code Playgroud)

不知道如何使用NVL或COALESCE来做到这一点.

sql oracle coalesce sql-update

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

如何将一个记录列更新为true,其他所有都为false

我试图将记录中的列更新为true,以指示该记录是表中的活动记录.但是,通过更新此记录,我必须将该列的所有其他记录更新为false.有没有办法在一个SQL语句中执行此操作?我可以用两个这样的语句来做:

UPDATE My_Table
SET is_group_active = 0

UPDATE My_Table
SET is_group_active = 1
WHERE group_id = 2;
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-update

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