﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客网-canny-随笔分类-数据库/Sql Server 2000</title><link>http://www.cnitblog.com/canny/category/6439.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 27 Oct 2007 09:50:53 GMT</lastBuildDate><pubDate>Sat, 27 Oct 2007 09:50:53 GMT</pubDate><ttl>60</ttl><item><title>[转]JSP使用SqlServer存储过程</title><link>http://www.cnitblog.com/canny/archive/2007/10/27/35462.html</link><dc:creator>新青年</dc:creator><author>新青年</author><pubDate>Sat, 27 Oct 2007 08:05:00 GMT</pubDate><guid>http://www.cnitblog.com/canny/archive/2007/10/27/35462.html</guid><wfw:comment>http://www.cnitblog.com/canny/comments/35462.html</wfw:comment><comments>http://www.cnitblog.com/canny/archive/2007/10/27/35462.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/canny/comments/commentRss/35462.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/canny/services/trackbacks/35462.html</trackback:ping><description><![CDATA[<p><strong>1、过储过程的标准使用方法：</strong><br>可实现存储过程中的各种功能，和最简方法相比，它可以<strong>得到out参数和过程返回值</strong>。<br>？就是参数的占位符，一个问号代表有一个参数。  <p>String&nbsp;&nbsp;&nbsp;&nbsp; proc&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; "{call&nbsp;&nbsp;&nbsp;&nbsp; procname&nbsp;&nbsp;&nbsp;&nbsp; (?,?)}";<br>CallableStatement&nbsp;&nbsp;&nbsp;&nbsp; stat&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; con.prepareCall(proc);<br>//第一个参数为in的话<br>stat.setString(1,'paravalue');//设置参数值<br>//第二个参数作out的话<br>stat.registerOutParameter(1,java.sql.Types.VARCHAR);//设置参数类型<br>stat.execute();<br>String&nbsp;&nbsp;&nbsp;&nbsp; paraValue&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; stat.getString(2);//得到out参数值  <p>例如：  <p>&lt;<a href="mailto:%@page">%@page</a> import="java.sql.*"%&gt;<br>&lt;<a href="mailto:%@page">%@page</a> import="java.text.*"%&gt;<br>&lt;<a href="mailto:%@page">%@page</a> contentType="text/html;charset=GB2312"%&gt;<br>&lt;<a href="mailto:%@include">%@include</a> file="opendata.jsp"%&gt;  <p>&lt;%<br>String strSQL = "{call pdrivertotal(?,?)}";<br>CallableStatement stmt = con.prepareCall(strSQL); <br>stmt.setString(1,"2005-08-20");<br>stmt.setString(2,"2005-10-01");<br>stmt.execute();  <p>%&gt;  <p><strong>2、存储过程的最简写法：</strong>  <p>思路：将过程当作普通的sql语句去执行，也就是和查询、更新的写法是一样。可实现执行过程并且得到相关的数据集，但它<strong>不能得到过程的out输出参数</strong>，开发中90%的情况下皆适用。  <p>String&nbsp;&nbsp;&nbsp;&nbsp; proc&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; "exec&nbsp;&nbsp;&nbsp; 过程名 "+参数1+","+参数2;<br>Statement&nbsp;&nbsp;&nbsp;&nbsp; stat&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; con.createStatement();<br>ResultSet&nbsp;&nbsp;&nbsp;&nbsp; rs&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; stat.executeQuery(proc);  <p>例如：  <p><strong>//在JSP中使用</strong>  <p>&lt;%  <p>Statement&nbsp;&nbsp;&nbsp;&nbsp; stat&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; con.createStatement();<br>ResultSet&nbsp;&nbsp;&nbsp;&nbsp; rs&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; stat.executeQuery("zyfproc 20 '姓名'");<br>//zyfproc为存储过程名 20为int型参数，姓名为varchar类参数<br>%&gt;  <p><strong>//在使用了jstl标签的jsp中使用</strong>  <p>&lt;!--执行存储过程--&gt;<br>&lt;sql:update var="proc" sql="exec jproc ?,?" dataSource="${ds}"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sql:param value="${param.hid}"/&gt;<br>&lt;sql:param value="${param.hid}"/&gt;<br>&lt;/sql:update&gt;  <p>来自：<a href="http://www.zuoyefeng.com/html/2007-02/543.htm">http://www.zuoyefeng.com/html/2007-02/543.htm</a></p><img src ="http://www.cnitblog.com/canny/aggbug/35462.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/canny/" target="_blank">新青年</a> 2007-10-27 16:05 <a href="http://www.cnitblog.com/canny/archive/2007/10/27/35462.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Sql Server 2000使用系统存储过程sp_rename修改表名或列名</title><link>http://www.cnitblog.com/canny/archive/2007/10/27/35448.html</link><dc:creator>新青年</dc:creator><author>新青年</author><pubDate>Sat, 27 Oct 2007 05:02:00 GMT</pubDate><guid>http://www.cnitblog.com/canny/archive/2007/10/27/35448.html</guid><wfw:comment>http://www.cnitblog.com/canny/comments/35448.html</wfw:comment><comments>http://www.cnitblog.com/canny/archive/2007/10/27/35448.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/canny/comments/commentRss/35448.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/canny/services/trackbacks/35448.html</trackback:ping><description><![CDATA[<p></p> <p>A. &nbsp; 重命名表&nbsp;&nbsp;&nbsp;<br>&nbsp; 将表&nbsp;&nbsp;&nbsp;oldTableName&nbsp; 重命名为&nbsp;&nbsp;newTableName ：<br>&nbsp; EXEC &nbsp; sp_rename &nbsp; 'oldTableName', &nbsp; 'newTableName'&nbsp;&nbsp;&nbsp;<br>&nbsp;</p> <p>B. &nbsp; 重命名列&nbsp;&nbsp;&nbsp;<br>&nbsp; 将表&nbsp;&nbsp;&nbsp;table1&nbsp; 中的列&nbsp;&nbsp;&nbsp;oldName&nbsp; 重命名为&nbsp;&nbsp; newName。 &nbsp; <br>&nbsp; EXEC &nbsp; sp_rename &nbsp; 'table1.oldName', &nbsp; 'newName', &nbsp; 'COLUMN'&nbsp;&nbsp;</p> <p>注意：newName前面不用加上table1 </p> <p>sp_name这个系统的存储过程，public的用户都能够执行！</p> <p></p> <p>以上资料是从网上搜集后按照个人理解修改的 </p><img src ="http://www.cnitblog.com/canny/aggbug/35448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/canny/" target="_blank">新青年</a> 2007-10-27 13:02 <a href="http://www.cnitblog.com/canny/archive/2007/10/27/35448.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>