2013-01-07 44 views
1

刪除號碼我已經創建函數從字符串中刪除數創建觸發器,它會從字符串

create function RemoveNumber(@inp nvarchar(50)) 
returns nvarchar(50) 
as 
begin 
declare @out varchar(50) 
if (@inp is NOT NULL) 
begin 
    set @out = '' 
    while (@inp <> '') 
    begin 
     if (@inp like '[0-9]%') 
      set @out = @out + substring(@in, 1, 1) 
     set @inp = substring(@inp, 2, len(@in) - 1) 
    end 
end 
return(@out) 
end 

然後我想用它觸發內部

create trigger ut_RemoverName 
on Worker 
for insert 
as 
update Worker 
set name = ut_RemoveNumber(name) 

它不看功能。但如何從RemoveNumber觸發內創建循環(現場name - nvarchar(10))?

+0

create trigger ut_RemoverName on Worker for insert as UPDATE w SET Name = dbo.RemoveNumber(i.name) FROM Worker w JOIN inserted i ON w.Id = i.Id 

演示我想你想設置「設置名稱= ut_RemoveNumber(名稱)「爲」設置名稱= RemoveNumber(名稱)「 – JBrooks

+2

根據RDMS,您可能還需要用戶認證'dbo.RemoveNumber(name)' –

+0

*** SQL ***只是*結構化查詢語言* - 許多數據庫系統使用的語言,但不是數據庫產品......許多東西都是特定於供應商的 - 所以我們真的需要知道你正在使用的數據庫系統**(和哪個版本)...... –

回答