SQL stored procedures update data through multiple IDs, SQL stored procedures
The following is an example:
I want to add 1 to the name of some brands (that is, Brand_Name), and Brand_ID is the primary key. The SQL statement is easy to implement. But how can I write the stored procedure?
The error code is as follows:
//************************************** **********
Alter proc [dbo]. [stored procedure name]
@ Brand_IDs varchar (max)
AS
BEGIN
UPDATE T_System_Brand
SET
Brand_Name = Brand_Name + '1'
WHERE Brand_ID IN (@ Brand_IDs)
END
//************************************** ************
Correct statement (in two steps ):
Step 1:
In dataProgrammable row-> function-> table Value FunctionAdd a function as follows:
Alter function [dbo]. [Split]
(
@ C VARCHAR (MAX ),
@ Split VARCHAR (50)
)
RETURNS @ t TABLE (col VARCHAR (50 ))
AS
BEGIN
WHILE (CHARINDEX (@ split, @ c) <> 0)
BEGIN
INSERT @ t (col)
VALUES (SUBSTRING (@ c, 1, CHARINDEX (@ split, @ c)-1 ))
SET @ c = STUFF (@ c, 1, CHARINDEX (@ split, @ c ),'')
END
INSERT @ t (col) VALUES (@ c)
RETURN
END
Step 2:
In the stored procedure, you can write as follows:
Alter proc [dbo]. [stored procedure name]
@ Brand_IDs varchar (max)
AS
BEGIN
UPDATE T_System_Brand
SET
Brand_Name = Brand_Name + '1'
WHERE Brand_ID IN (SELECT * FROM Split (@ Brand_IDs ,','))
END
Note: I use the table value function: