Sql server 2005 在数据输入时自动连接文本
我是个新手,需要帮助 我有一张叫“雇员”的桌子。它有两个字段[编号]和[编码]。我想自动获取[number]中输入的任何数字,并将其存储在[encode]中,以使其前面有适当数量的0,从而始终生成12位数字 例如: 用户在[number]中输入'123','000000000 123'自动存储在[encode]中 用户在[编号]中输入“123456789”,“000123456789”自动存储在[编码]中 我想我想写一个触发器来完成这个任务。我认为这会在输入数据时发生。是这样吗 主要思想是这样的:Sql server 2005 在数据输入时自动连接文本,sql-server-2005,triggers,concatenation,Sql Server 2005,Triggers,Concatenation,我是个新手,需要帮助 我有一张叫“雇员”的桌子。它有两个字段[编号]和[编码]。我想自动获取[number]中输入的任何数字,并将其存储在[encode]中,以使其前面有适当数量的0,从而始终生成12位数字 例如: 用户在[number]中输入'123','000000000 123'自动存储在[encode]中 用户在[编号]中输入“123456789”,“000123456789”自动存储在[编码]中 我想我想写一个触发器来完成这个任务。我认为这会在输入数据时发生。是这样吗 主要思想是这样的
CREATE TRIGGER InsertEncodePadded
ON Employees
INSTEAD OF INSERT 'Use instead of to make sure you don't get start a recursive insert
AS
BEGIN
DECLARE @number varchar(12);
DECLARE @encoded varchar(12);
SELECT @number = [number] from inserted;
SET @encoded = RIGHT(REPLICATE('0', 12) + @number, 12);
INSERT INTO Employees VALUES(@number, @encoded);
END
GO
变量1=长度[数字]
变量2=重复(0,12-变量1)
variable3=连接(variable2,[number])
[encode]=变量3
我只是不知道如何让这一切发生
任何帮助都会很棒
我有SQL-SERVER 2005,两个字段都是文本以下链接提供了两种方法,可以用0填充数字,使其成为特定长度 在触发器中,它可能如下所示:
CREATE TRIGGER InsertEncodePadded
ON Employees
INSTEAD OF INSERT 'Use instead of to make sure you don't get start a recursive insert
AS
BEGIN
DECLARE @number varchar(12);
DECLARE @encoded varchar(12);
SELECT @number = [number] from inserted;
SET @encoded = RIGHT(REPLICATE('0', 12) + @number, 12);
INSERT INTO Employees VALUES(@number, @encoded);
END
GO
我目前没有SQL Server,因此代码可能不完全正确,但它应该引导您朝着正确的方向前进