标签: sql-delete

PostgreSQL 是否有内置功能可以每分钟或每小时删除旧记录,例如删除所有超过 2 年的记录并每小时检查一次

Postgres 有支持老化旧记录的功能吗?

就像标题所说,我想删除所有超过 2 年的记录,并让它每隔几分钟或几小时检查一次。我见过很多年前的帖子都说“不”,但也许情况已经改变了。

database postgresql sql-delete

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

如何使用 EF Core 删除数据库中的多条记录?

我想根据AdvertId里面的来删除,而不是根据ID来删除。我找到了AdvertId,但我卡在删除上。我正在使用 CQRS 结构。我的文件夹RepositoryIRepository文件夹是分开的。在控制器部分,我通过查找advertId.

public class Advert_CategoryPropertyDetailJunctionDeleteHandler : 
        IRequestHandler<Advert_CategoryPropertyDetailJunctionDelete, ApiResponse>
{
    private readonly IUnitOfWork _repo;

    public Advert_CategoryPropertyDetailJunctionDeleteHandler(IUnitOfWork repo)
    {
        _repo = repo;
    }

    public async Task<ApiResponse> Handle(Advert_CategoryPropertyDetailJunctionDelete 
    request, CancellationToken cancellationToken)
    {
        var mapped = await 
        _repo.AdvertCategoryPropertyDetailJunctions.GetAllAsync(request.predicate);

        if (mapped == null)
            return new ErrorApiResponse(ResultMessage.NotDeletedUser);

        await _repo.AdvertCategoryPropertyDetailJunctions.DeleteAllAsync((Advert_CategoryPropertyDetailJunction) mapped);

        return new SuccessApiResponse();
    }
}
Run Code Online (Sandbox Code Playgroud)

红外存储库:

Task<IEnumerable> DeleteAllAsync(T entity);
Run Code Online (Sandbox Code Playgroud)

存储库;

public async Task<IEnumerable> DeleteAllAsync(T entity)
{
    Context.Set<T>().Remove(entity);
    Context.Entry(entity).State = EntityState.Deleted;
    await Context.SaveChangesAsync();
    return (IEnumerable)entity;
}
Run Code Online (Sandbox Code Playgroud)

c# sql-delete entity-framework-core

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

删除 MySQL 中早于当前日期时间的条目

我已经尝试过以下各种其他声明,但认为其中之一显然应该有效,但到目前为止还没有运气。请告诉我我做错了什么。没有收到错误,它只是不起作用。

DELETE FROM table_name WHERE from < NOW()
DELETE FROM table_name WHERE from < '2022-04-16 08:00:00'

例子

mysql sql delete-row sql-delete

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

在 Snowflake 上删除行或重新创建表是否更有效

我有一个包含 600M 行的表,我想删除其中 id 来自另一个表的行的子集。

删除行或重新创建表会更有效吗?

(基于 dbt Slack 上的讨论)

sql optimization sql-delete snowflake-cloud-data-platform

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

执行SQL时出错

当我尝试执行下面的代码时,我收到以下错误.我已经添加了我传递的SQL字符串.我错过了什么?

错误:

查询表达式'TOURID = 25e5eed3-ea84-4c30-a660-2c880253da60'中的语法错误(缺少运算符)

我的查询,

DELETE * FROM TOURS WHERE TOURID = 25e5eed3-ea84-4c30-a660-2c880253da60;
Run Code Online (Sandbox Code Playgroud)

我的代码,

Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\_Development\Data\filename.accdb;Persist Security Info=False;"
Dim DBConnection As New System.Data.OleDb.OleDbConnection(connectionString)
Try
    DBConnection .Open()
    Dim cmd As New System.Data.OleDb.OleDbCommand(sql, DBConnection )
    Dim sqlAdapterTOURS As New System.Data.OleDb.OleDbDataAdapter(cmd)
    cmd.CommandType = CommandType.Text
    cmd.ExecuteNonQuery()
Catch ex As Exception
    MessageBox.Show(ex.Message)
Finally
    DBConnection .Close()
End Try
Run Code Online (Sandbox Code Playgroud)

sql ms-access sql-delete

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

DELETE后删除带变量的语句

有人可以解释这是做什么的吗?我指的是@comps删除后的直接 - 文档似乎建议将删除的行放入@comps,这是真的吗? @comps是一个表变量.

delete @comps
from @comps as a
where a.compcode = '43423'
Run Code Online (Sandbox Code Playgroud)

t-sql sql-delete

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

给定10,000条记录ID,哪种方式是删除记录的正确方法?

哪个更好,一个带有where子句的delete语句包含10,000或过滤器(例如从表中删除id = 1或id = 2或id = 3等)或执行10,000个删除语句(例如从表中删除id = 1 ;从表中删除id = 2;等)?该数据库是MS SQL Server.

编辑

ID不是顺序的,并且没有where子句可以用来捕获它们(例如id> 100且id <50)因为我不知道这些ID是如何相关的(除了它们全部来自同一张表).所以这真的是一个性能问题.

t-sql database sql-delete

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

C#sql delete命令

SqlConnection con1 = new SqlConnection(strcon);
con1.Open();

string query = " ";
query += " BEGIN TRANSACTION ";
query += " DELETE FROM VehicleRentals FROM VehicleRentals INNER JOIN Vehicles N VehicleRentals.VehicleID = Vehicles.VehicleID WHERE LicensePlate=@LicensePlate ";
query += " DECLARE @x int ";
query += " SELECT @x = VehicleTypeCode FROM Vehicles WHERE LicensePlate=@LicensePlate ";
query += " DELETE FROM Manufacturers FROM Manufacturers INNER JOIN Models ON Manufacturers.ManufacturerCode = Models.ManufacturerCode INNER JOIN Vehicles ON Models.ModelID = Vehicles.ModelID WHERE LicensePlate=@LicensePlate ";
query …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server sql-delete

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

从WHERE IN删除,但有2个字段,没有Id

我有这张桌子:

StudentId | ConfigurationTypeId
1         | 1
1         | 2
1         | 3
2         | 1
2         | 2
Run Code Online (Sandbox Code Playgroud)

我想删除此表中的所有记录 ConfigurationTypeId = 3

所以我提出了这个问题:

DELETE FROM [StudentConfigurationType] WHERE StudentId IN
  (SELECT StudentId FROM [StudentConfigurationType] SCT 
  INNER JOIN [Student] S ON S.Id = SCT.StudentId
  WHERE SCT.ConfigurationTypeId = 3 AND S.RegisteredDate < '2014-09-18')
Run Code Online (Sandbox Code Playgroud)

但是,因为这个表没有Id,所以StudentId会进来,它会从表中删除所有记录.怎么能做这样的事情:

DELETE FROM [StudentConfigurationType] WHERE StudentId AND ConfigurationTypeId IN
  (SELECT StudentId, ConfigurationTypeId FROM [StudentConfigurationType] SCT
  INNER JOIN [Student] S ON S.Id = SCT.StudentId
  WHERE SCT.ConfigurationTypeId = 3 AND S.RegisteredDate …
Run Code Online (Sandbox Code Playgroud)

sql sql-server delete-row sql-delete

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

如何删除表中字段等于标题的记录?

我有一个sqlite表,其中包含我想要删除的重复标题.这是我目前的发言.

DELETE FROM table WHERE FIELD = "FIELD"
Run Code Online (Sandbox Code Playgroud)

执行此语句时,将删除整个表.

python sql sqlite sql-delete

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