【问题标题】:update and insert query for split name更新和插入查询拆分名称
【发布时间】:2020-10-16 19:42:15
【问题描述】:

任何人都可以帮我纠正以下存储过程,在 SQL 中的存储过程中拆分名字和姓氏以进行更新和插入查询。

Create[dbo].[storedprocedure] 
SELECT LEFT(@FullName, CHARINDEX(',', @FullName) - 1) AS [FirstName],
       RIGHT(@FullName, CHARINDEX(',', REVERSE(@FullName)) - 1) AS [LastName] 
From table name

提前致谢

【问题讨论】:

  • 这个不会编译,@FullName在哪里定义的?
  • 这是为fullName传递的参数
  • 我知道它应该做什么,但它不在您上面的代码中...而且您没有从table 中选择任何列或使用@ 987654324@ 代码中任意位置的别名。

标签: c# sql model-view-controller


【解决方案1】:

如果我理解了您的要求,您可以创建一个类型以用作该过程的列表参数

CREATE TYPE [dbo].[FullNamesList] AS TABLE(
    [FullName] varchar(20) NULL
);

在此之后,您可以创建此过程以将拆分器名称插入您喜欢的表(我的 FirstLastNameTable)

CREATE PROCEDURE [dbo].[storedprocedure]
    @groupFullNames FullNamesList READONLY
    
    AS
    BEGIN

        INSERT INTO FirstLastNameTable(FirstName, LastName)
        SELECT LEFT(G.FullName, CHARINDEX(',', G.FullName) - 1) AS [FirstName],
               RIGHT(G.FullName, CHARINDEX(',', REVERSE(G.FullName)) - 1) AS [LastName]
        FROM @groupFullNames G

    END

【讨论】:

    猜你喜欢
    • 2013-03-13
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-13
    • 2014-02-09
    相关资源
    最近更新 更多