国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

在asp中如何創(chuàng)建動態(tài)表--調(diào)用如下sp_execute

2019-11-18 20:19:39
字體:
供稿:網(wǎng)友
/* -----------------------------------
    產(chǎn)生論壇分類目錄內(nèi)容表過程

   -----------------------------------    */
CREATE PROCEDURE sp_createnew_bbscontent
    @tabname varchar(200)='',
    @boardid int
AS
    declare @tri_inst_name nvarchar(100)
    declare @tri_up_name nvarchar(100)
    declare @tri_del_name nvarchar(100)
    declare @deltab nvarchar(100)
    declare @st nvarchar(2000)
    select @tri_inst_name='inst_bbsContent'+LTRIM(RTRIM(str(@Boardid)))
    select @tri_up_name='up_bbsContent'+LTRIM(RTRIM(str(@Boardid)))
    select @tri_del_name='delete_bbsContent'+LTRIM(RTRIM(str(@Boardid)))
    select @deltab='drop table '+@tabname
    if len(@tabname)=0
        return
    if exists (select * from sysobjects where id = object_id(@tabname) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
        exec sp_executesql @deltab

    select @st='CREATE TABLE '+@tabname+
        '(
        AnnounceID    int    identity (1, 1)     NOT NULL ,    
        ParentID     int    default (0)        NULL ,        
        Child         int     default (0)        NULL ,        
        User_id         int                 NULL ,        
        boardID        int                NULL ,        
        Topic         nvarchar (255)             NULL ,
        Body         ntext                NULL ,
        DateAndTime     datetime default    (getdate()) NULL ,
        Hits         int    default (0)        NULL ,
        Length        int    default (0)        NULL ,
        RootID         int    default (0)        NULL ,
        Layer         tinyint    default (1)        NULL ,
        Orders         int     default (0)        NULL ,
        ip         nvarchar (20) default (0)    NULL ,
        Expression     nvarchar (50)             NULL ,
        Forbid         tinyint default(0)        NULL
        )'
    exec sp_executesql @st
    
    select @st='CREATE TRIGGER '+ @tri_inst_name+' ON '+@tabname+ '
        FOR INSERT
    AS
        declare @rid integer,@pid integer
        select @pid=ParentId from inserted
        if @pid = 0
            begin
            select @rid =@@identity
            update '+ @tabname+' set rootid=@rid where AnnounceID=@rid
            end'
    exec sp_executesql @st

    select @st='CREATE TRIGGER '+ @tri_up_name+' ON '+@tabname+ '
        FOR UPDATE
    AS

        declare @pid int ,@rid int,@forbid tinyint
        if update(forbid)
              begin
            select @pid = parentid,@rid = rootid,@forbid=forbid from inserted
            /* 如果其父沒有開放 則不能開放 */
            if exists ( select * from  '+@tabname +' where AnnounceID = @pid and Forbid!= 0 )
                   begin
                rollback transaction
                return
                    end
            update '+@tabname+ ' set forbid=@forbid where rootid=@rid and parentid>@pid
                end'
        exec sp_executesql @st
    
    select @st='CREATE TRIGGER '+ @tri_del_name+' ON '+@tabname+ '
        FOR DELETE
    AS
        declare @pid int ,@rid int
        select @pid = parentid,@rid = rootid from deleted
        delete from '+@tabname +' where rootid=@rid and parentid>@pid'


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新沂市| 育儿| 诸暨市| 息烽县| 开远市| 祁门县| 新河县| 日喀则市| 富宁县| 汉中市| 道孚县| 喀喇沁旗| 德清县| 岳西县| 临江市| 怀安县| 贡觉县| 城市| 滕州市| 达拉特旗| 陆丰市| 中阳县| 墨竹工卡县| 太白县| 精河县| 佳木斯市| 治多县| 太原市| 南陵县| 江西省| 福安市| 新余市| 融水| 东乌| 昭平县| 兴安盟| 钟祥市| 连州市| 泸定县| 闽侯县| 正安县|