sql - 如何编写列值以参数值开头的 Sql 服务器删除语句

标签 sql sql-server stored-procedures delete-row sql-delete

这是我在下面写的内容

CREATE PROCEDURE [dbo].[storedProcedureName]
@parameterName char 
AS
BEGIN
DELETE FROM Table
WHERE Table_ColumnNames like @parameterName%
END

通常,如果没有参数,我可以编写如下内容(如下),这会删​​除 ColumnName 列中名称以 Adam 开头的每一行。如何使用上面尝试过的参数实现相同的效果,我不希望它不仅删除与parameterName匹配的名称,而且还删除以parameterName的值开头的名称。

CREATE PROCEDURE [dbo].[storedProcedureName]
AS
BEGIN
DELETE FROM Table
WHERE Table_ColumnNames like 'Adam%'
END

最佳答案

试试这个 -

CREATE PROCEDURE [dbo].[storedProcedureName]

    @parameterName VARCHAR(30) 

AS BEGIN

    DELETE FROM dbo.[Table1]
    WHERE Table_ColumnNames LIKE @parameterName + '%'

END

关于sql - 如何编写列值以参数值开头的 Sql 服务器删除语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960006/

相关文章:

html - 如何在数据库字段中存储区域

ASP.NET 在存储过程中执行计算,或在 Gridview 中的数据绑定(bind)中执行计算

java - 在没有大量查询的情况下,在 where 子句中使用 ArrayList 中的值?

sql - 将查询结果从结构转换为另一个 Golang 包的字符串

sql - 提高非聚集索引查找的性能

sql-server - 如何在postgresql中声明局部变量?

mysql - 按日期时间比较最后两条记录的值

c# - 执行非查询时出现SqlException 'timeout expired',但插入了数据

参数可能为 NULL 的 SQL 函数

sql-server - 中止违反外键约束的存储过程