添加新记录时是否可以安排SQL查询。目前,我有一个计划在某个时间每天执行一次的查询。
谢谢,
编辑1; 谢谢大家的意见。在这里测试这个是我的触发器,我的语法是否正确? 我想尝试做的是,当输入数据时将其转换为TitleCase。
CREATE TRIGGER [dbo].[TableInsert]
ON [Table]
AFTER INSERT
AS
BEGIN
DECLARE @InputString varchar(4000)
DECLARE @Index INT
DECLARE @Char CHAR(1)
DECLARE @PrevChar CHAR(1)
DECLARE @OutputString VARCHAR(255)
SET @OutputString = LOWER(@InputString)
SET @Index = 1
WHILE @Index <= LEN(@InputString)
BEGIN
SET @Char = SUBSTRING(@InputString, @Index, 1)
SET @PrevChar = CASE WHEN @Index = 1 THEN ' '
ELSE SUBSTRING(@InputString, @Index - 1, 1)
END
IF @PrevChar IN (' ', ';', ':', '!', '?', ',', '.', '_', '-', '/', '&', '''', '(')
BEGIN
IF @PrevChar != '''' OR UPPER(@Char) != 'S'
SET @OutputString = STUFF(@OutputString, @Index, 1, UPPER(@Char))
END
SET @Index = @Index + 1
END
RETURN @OutputString
END
编辑2:
调用函数时使用了@InputString
。
update dbo.mytable
set fieldName=[dbo].[InitCap](@InputString);
在我的情况下,@InputString
是正在更新的字段名。
答案 0 :(得分:2)
你应该使用触发器:
CREATE TRIGGER [dbo].[TableInsert]
ON [Table]
AFTER INSERT
AS
--Do your magic
答案 1 :(得分:0)
您可以查看使用Trigger,您可以在Inserts上执行此操作,因此每次插入新行时,它都会触发并运行您的查询。