本实例用的是sqlserver2005 在存储过程中遍历结果,和查询数据库中所有 存储过程名称 加以处理以文本形式输出
源码:
- drop procedure findName
- create procedure findName--创建一个名为findName的存储过程
- AS
- declare @result VARCHAR(30)--用来处理结果的变量
- begin
- --声明一个游标
- Declare curStudentFee Cursor for
- SELECT NAME FROM SYSOBJECTS WHERE XTYPE='P';---查询语句(查询所有用户存储过程名称)
- --打开游标
- Open curStudentFee
- --循环并提取记录
- Fetch Next From curStudentFee Into @result--取第一条记录存入@result中
- While ( @@Fetch_Status=0 )
- begin
- print ''''+@result+''''+',';---处理结果
- Fetch Next From curStudentFee into @result----下一条
- end
- --关闭游标
- Close curStudentFee
- --释放游标
- Deallocate curStudentFee
- end
- exec findName
其中SELECT NAME FROM SYSOBJECTS WHERE XTYPE='P';---查询语句(查询所有用户存储过程名称)是查询用户写的存储过程名称 处理后输出
输出结果形:
'p_check_drp_gonchang',
'p_execute_drp_gongchang',
'p_query_open_form_close',
'sp_upgraddiagrams',
'sp_helpdiagrams',
2.另外加一个用hibernateTemplate查询sqlserver当前时间的java代码,在网上找了好长时间就是找不到 查询数据库系统时间 用HQL怎么写 或者用hibernateTemplate直接获取数据库时间的方法,没办法只能用sql来查询了
代码:
- Object date= (Object) hibernateTemplate.execute(new HibernateCallback() {
- @Override
- public Object doInHibernate(Session arg0) throws HibernateException,
- SQLException {//查询当前数据库时间
- SQLQuery query=arg0.createSQLQuery("select getdate()");
- return query.list().get(0);
- }
- });
- System.out.println("取得数据库当前时间是 : "+(Date)date);
运行结果:
Hibernate: select getdate()
取得数据库当前时间是 : 2012-09-27 14:45:21.637