惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
博客园_首页
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
P
Proofpoint News Feed
博客园 - 司徒正美
有赞技术团队
有赞技术团队
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog

博客园 - 老冯

项目管理: 软件质量的可靠保证 最新blog程序收集 真假羊绒鉴别方法 Windos 下修改修改远程桌面端口方法 FTP命令详解 RSS 2.0规范 2006上海国资委首页设计稿 ADO.NET数据集又是我需要学习的一个好东东 asp.net技巧收录 javascript特效收藏 发现一款绿色toolbar工具 目录同步工具-DirWatcher 轻松一下,今天的事情放一放 今日手记-星期六的生活 各大主流BBS论坛程序简介 DataGrid排训功能讲解 开源:MIS金质打印通原理及实现 Step by step (1) 汽车制造企业ERP需求分析与解决方案 搜索SEO代码 - 老冯 - 博客园
WDCM推荐的触发器
老冯 · 2006-10-24 · via 博客园 - 老冯

--触发器根据来源稿件的自定义属性(domainname)更新到推荐对象
--使前缀加上网站全路经
--推荐稿件对象表userobject6
--需要配合自定义函数得到2级自定义属性domainname名

CREATE  TRIGGER [insert_suggest] ON [userobject6]
FOR INSERT
AS
DECLARE @link   VARCHAR(256),
        @id     INT,
        @domainname1 VARCHAR(1000),
        @domainname VARCHAR(1000),
        @domainname2 VARCHAR(1000),
        @userprop2 VARCHAR(1000)
IF UPDATE(userprop3)

BEGIN
    SELECT @link = userprop3,@domainname1 = userprop1,@userprop2 = userprop2,@id = idleaf FROM inserted
    IF @@ROWCOUNT > 0
    BEGIN
        SELECT @domainname =  dbo.uf_Getn1(@domainname1) FROM userobject6
        IF @@ROWCOUNT > 0 and @domainname  is not null and @domainname<>''     
        BEGIN
          IF RIGHT(@domainname,1)='/'
          set @domainname2 = SUBSTRING(@domainname,1,(LEN(@domainname)-1))
          ELSE
          set @domainname2 = @domainname
          
            UPDATE userobject6 SET userprop2=@domainname2+'/'+@userprop2  WHERE idleaf = @id
        END
    END
END


--此自定义函数是根据栏目路径获取二级自定义属(domainname)名
--如输入值:‘/卫生局/头条新闻’


CREATE  FUNCTION uf_Getn1 (@p_pathname VARCHAR(1000))
RETURNS VARCHAR(500)
AS
BEGIN
 -- 如果出现错误,则返回/或是NULL
 -- SQL 写法
 DECLARE @v_NodeName varchar(200),
 @v_Node varchar(1000),
 @v_nodepath varchar(1000),
  @first  INT,
  @second INT
  
 set @v_NodeName = ''
 set @v_Node = substring(@p_pathname,2,500)
 
 IF @v_Node = ''
  BEGIN
   set @v_NodeName = 'null'
   RETURN (@v_NodeName)
  END
  SELECT @first  = CHARINDEX('/', @v_Node)
  SELECT @second = CHARINDEX('/', @v_Node, @first + 1)
  IF @second>0
  SELECT @v_nodepath = SUBSTRING(@v_Node, 1, @second)
  ELSE
  SELECT @v_nodepath = @v_Node+'/'
  BEGIN
    set @v_NodeName = (SELECT userprop1
     FROM NodeTable
     where dbo.uf_getpath(idnode) = @v_nodepath)
    if @@rowcount = 0
     RETURN 'null'
  END
 RETURN @v_NodeName
END