首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> ASP技巧 -> 在asp中如何创建动态表--调用如下sp_execute  
在asp中如何创建动态表--调用如下sp_execute


文章类别:ASP技巧 来源: 作者: 发表日期:2005-10-4 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

/* -----------------------------------
    产生论坛分类目录内容表过程

   -----------------------------------    */
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'

上一篇:列表项可上下移动的Multiple列表 下一篇:模拟QQ的下拉列表选择图象
本栏目热门文章
·WEB打印设置解决方案二(利用ScriptX.cab控件改变IE打印 2005-10-4
·WEB打印设置解决方案三(FileSystem组件实现WEB打印) 2005-10-4
·使用VBScript操作Html复选框(CheckBox)控件 2005-10-4
·automation服务器不能创建对象 2006-1-6
·HTTP_REFERER的工作方式 2005-10-4
·用ASP和Microsoft.XMLDOM分析远程XML文件 2005-10-4
·XMLHTTP Get HTML页面时的中文乱码之完全客户端Scri 2005-10-4
·使用ActiveX控件开发网页常见的问题 2005-10-4
·关于 aspsmartupload 注册问题 2005-10-4
·判断checkbox是否至少有选择一项 2005-10-8
新近更新文章
·ASP网站漏洞解析及黑客入侵防范方法 2006-6-22
·将asp页面转换成htm页面 2006-6-20
·使用JMail组件代替Sql Mail发送Email 遇到的问题 2006-6-15
·Ajax & XMLHttpRequset 2006-6-15
·如何让图片自动缩放以适合界面大小 2006-6-15
·用正则解析图片地址,并利用XMLHTTP组件将其保存 2006-6-15
·用ASP+CSS实现随机背景 2006-6-4
·关于Cookie跨域操作遇到的问题及解决方法 2006-6-4
·编写数据库操作类,使ASP.NET中的数据库操作变得简单 2006-5-22
·一个简单的用存储过程分页 2006-5-18
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: