• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 编程开发 >> JAVA >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • 基于Java线程实现后台定时监..
  • JDBC 连接MySQL 问题
  • Linux环境下Java开发 Linux和..
  • 工欲善其事必先利其器 Java开..
  • 如何在Java程序中实现FTP的上..
  • Windows和linux下搭建java开..
  • 在java 中执行触发器代码、创..
  • Java实例:JAVA实现屏幕抓图..
  • 使用Java程序连接各种数据库..
  • Java网络编程基础(三) Datag..
  • 利用Jsvc把Java程序嵌入到Li..
  • 开源Erlang真的能成为下一代..
  • 区分Tomcat与Web服务器、应用..
  • 基于JDBC的数据库连接池技术..
  • 用Java语言编写通过代理访问..
  • JAVA进阶:一个简单Thread缓..
  • 新手学堂:几个著名Java开源..
  • Java入门:java中几个关于类..
  • 教你如何妙用EditPlus 配置J..
  • 动态Proxy与Java ACL用户访问..
 
 

在java 中执行触发器代码、创表语句

  • 日期:2008-06-23     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

    由于程序的需要,在SQLServer 中创建触发器及建表,碰到了在java 代码中执行创建触发器及表。

    /**建立中间表*/

    public static final String

            createMiddleTableSQL =

            "CREATE TABLE [dbo].[AlarmsMiddleTbl] ( "

            + " [id] [int] NOT NULL  , "

            + " [DeviceID] [smallint] NULL , "

            + " [Aid] [char] (10) COLLATE Chinese_PRC_BIN NULL , "

            + " [BeginTime] [datetime] NULL , "

            + " [EndTime] [datetime] NULL , "

            + " [Severity] [char] (2) COLLATE Chinese_PRC_BIN NULL , "

            + " [CondType] [char] (25) COLLATE Chinese_PRC_BIN NULL , "

            + " [DetailID] [smallint] NULL , "

            +

            " [AckNotes] [char] (150) COLLATE Chinese_PRC_BIN NULL , "

            +

            " [Description] [char] (255) COLLATE Chinese_PRC_BIN NULL , "

            +

            " [Systemtimes] [char] (30) COLLATE Chinese_PRC_BIN NULL "

            + ") ON [PRIMARY] ";

 

 

    /**在告警表上创建触发器*/

    public static final String createMiddleTblTriggerSQL =

            "CREATE   TRIGGER t_alarms "

            + "ON [NTBW].[dbo].[Alarms] "

            + "FOR INSERT, UPDATE "

            + "AS "

            + "DECLARE  @rows int "

            + "SELECT @rows =  @@rowcount "

            + "IF @rows = 0 "

            + "  return "

            +

            "IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted) "

            + "BEGIN "

            + "  INSERT INTO [NTBW].[dbo].[AlarmsMiddleTbl] "

            + "  SELECT i.[id], i.[DeviceID], i.[Aid], i.[BeginTime], "

            +

            "  i.[EndTime], i.[Severity], i.[CondType], i.[DetailID], i.[AckNotes], "

            + "  i.[Description], getdate() from inserted i "

            + "END "

            +

            "IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted) AND "

            + " UPDATE(EndTime) "

            + "BEGIN "

            + "  INSERT INTO [NTBW].[dbo].[AlarmsMiddleTbl] "

            + "  SELECT i.[id], i.[DeviceID], i.[Aid], i.[BeginTime], "

            +

            "  i.[EndTime], i.[Severity], i.[CondType], i.[DetailID], i.[AckNotes], "

            + "  i.[Description], getdate() from inserted i "

            + "END "

            + "IF @@error <> 0 "

            + "BEGIN "

            + "  RAISERROR('ERROR',16,1) "

            + "  rollback transaction "

            + "  return "

            + "END ";

 

 

 

 

 

JAVA中执行以上语句过程:

view plaincopy to clipboardprint?
/** 
 
 * 创建中间表或者触发器 
 
 * 
 
 * @param sql String 
 
 * @return boolean 返回语句执行结果,true 成功,false 失败 
 
 */ 
 
private boolean createTableOrTrigger(String sql)  
 
{  
 
    Connection con = null;  
 
    PreparedStatement st = null;  
 
    boolean result = false;  
 
    try 
 
    {  
 
        con = dbh.getConnection();  
 
        st = con.prepareStatement(sql);  
 
        st.execute();  
 
        result = true;  
 
        dbh.closeConnections(null, st, con);  
 
    }  
 
    catch (SQLException ex)  
 
    {  
 
        Log.error("Unable to create :" +  
 
                  sql + " ,ErrorCode :" + ex.getErrorCode() +  
 
                  ",Exception :" +  
 
                  ex.getLocalizedMessage());  
 
        dbh.closeConnections(null, st, con);  
 
    }  
 
 
 
    return result;  
 
} 

相关文章
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号