﻿<?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>BlogJava-ゞ沉默是金ゞ-随笔分类-DB</title><link>http://www.blogjava.net/dashi99/category/37394.html</link><description>&lt;div align="center"&gt;
&lt;img height="50" width="200" name="welcome" src="http://www.blogjava.net/images/blogjava_net/majianan/14891/r_5858488902000cu2.gif"/&gt;
&lt;/div&gt;
&lt;br/&gt;
&lt;center&gt;&lt;font size=4 &gt;鱼离不开水,但是没有说不离开哪滴水.&lt;/font&gt;&lt;/center&gt;</description><language>zh-cn</language><lastBuildDate>Wed, 15 Aug 2012 08:57:31 GMT</lastBuildDate><pubDate>Wed, 15 Aug 2012 08:57:31 GMT</pubDate><ttl>60</ttl><item><title>How to insert multiple record into DB with store procedure?</title><link>http://www.blogjava.net/dashi99/archive/2012/08/13/385403.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Mon, 13 Aug 2012 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2012/08/13/385403.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/385403.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2012/08/13/385403.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/385403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/385403.html</trackback:ping><description><![CDATA[<div>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="color:#1F497D">1.Define the object type PROFILE_TAG_TYPE.</span></strong></p>  <p style="margin-left:.25in"><span style="color:#1F497D">CREATE OR REPLACE TYPE PZN_ADMIN.PROFILE_TAG_TYPE</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">AS</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;OBJECT</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;(</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; MID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2 (34),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; TAG_ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; CUSTOMER_TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(1),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; SOURCE_SYSTEM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(30),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; TAG_CREATED_DATE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(30),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; INTEREST_LEVEL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER(2),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; SUPPRESSION_IND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(2),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; SUPPRESSION_EXPIRY_DATE VARCHAR2(30),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; LAST_HOUSEKEEPING_DATE&nbsp;VARCHAR2(30),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; LAST_EVENT_DATE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(30),</span></p>  <p style="margin-left:.25in;text-indent:9.0pt"><span style="color:#1F497D">REASON<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>VARCHAR2(1500) );</span></p>  <p style="margin-left:.25in;text-indent:9.0pt">&nbsp;</p>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="color:#1F497D">2. Grant PROFILE_TAG_TYPE&nbsp;execute access to PZN_MB_USER.</span></strong></p>  <p style="margin-left:.25in"><span style="color:#1F497D">GRANT EXECUTE ON PZN_ADMIN.PROFILE_TAG_TYPE TO PZN_MB_USER;</span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">3.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="color:#1F497D">3. Define the array type reference to object PROFILE_TAG_TYPE.</span></strong></p>  <p style="margin-left:.25in"><span style="color:#1F497D">CREATE TYPE PZN_ADMIN.PROFILE_TAG_ARRAY AS TABLE OF PZN_ADMIN.PROFILE_TAG_TYPE; </span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">4.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="color:#1F497D"><span style="font: 12pt &quot;Times New Roman&quot;;">4. </span></span></strong><strong><span style="color:#1F497D">Grant PROFILE_TAG_ARRAY execute access to PZN_MB_USER.</span></strong></p>  <p style="margin-left:.25in"><span style="color:#1F497D">GRANT EXECUTE ON PZN_ADMIN.PROFILE_TAG_ARRAY TO PZN_MB_USER;</span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">5.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="color:#1F497D">5. Create store procedure package.</span></strong></p>  <p style="margin-left:.25in"><span style="color:#1F497D">CREATE OR REPLACE</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">PACKAGE PZN_ADMIN.PZN_PROFILE_TAG_PKG</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">AS</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">PROCEDURE INSERT_PROFILE_TAG(</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; PTA PROFILE_TAG_ARRAY);</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">END PZN_PROFILE_TAG_PKG;</span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">6.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="color:#1F497D">6. Create store procedure package body.</span></strong></p>  <p style="margin-left:.25in"><span style="color:#1F497D">CREATE OR REPLACE</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">PACKAGE BODY PZN_ADMIN.PZN_PROFILE_TAG_PKG</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">AS</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">PROCEDURE INSERT_PROFILE_TAG(</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; PTA PROFILE_TAG_ARRAY)</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">AS</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">BEGIN</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;FOR I IN PTA.FIRST..PTA.LAST</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;LOOP</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; INSERT</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; INTO PZN_ADMIN.PROFILE_TAG</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PROFILE_TAG_ID,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MID,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TAG_ID,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CUSTOMER_TYPE,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOURCE_SYSTEM,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TAG_CREATED_DATE,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INTEREST_LEVEL,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUPPRESSION_IND,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUPPRESSION_EXPIRY_DATE,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LAST_HOUSEKEEPING_DATE,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LAST_EVENT_DATE,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REASON</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUES</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SEQ_PROFILE_TAG_ID.NEXTVAL ,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PTA(I).MID,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PTA(I).TAG_ID,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PTA(I).CUSTOMER_TYPE,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PTA(I).SOURCE_SYSTEM,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TO_DATE(PTA(I).TAG_CREATED_DATE,'YYYY-MM-DD'),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PTA(I).INTEREST_LEVEL,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PTA(I).SUPPRESSION_IND,</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>TO_DATE(PTA(I).SUPPRESSION_EXPIRY_DATE,'YYYY-MM-DD'),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>TO_DATE(PTA(I).LAST_HOUSEKEEPING_DATE,'YYYY-MM-DD'),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>TO_DATE(PTA(I).LAST_EVENT_DATE,'YYYY-MM-DD'),</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PTA(I).REASON</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;END LOOP;</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">END INSERT_PROFILE_TAG;</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">END PZN_PROFILE_TAG_PKG;</span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">7.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="color:#1F497D">7. Create synonym to PZN_MB_USER.</span></strong></p>  <p style="margin-left:.25in"><span style="color:#1F497D">CREATE SYNONYM PZN_MB_USER.PZN_PROFILE_TAG_PKG FOR PZN_ADMIN.PZN_PROFILE_TAG_PKG;</span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">8.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="color:#1F497D">8. Grant execute access to PZN_MB_USER.</span></strong></p>  <p style="margin-left:.25in"><span style="color:#1F497D">GRANT EXECUTE ON PZN_ADMIN.PZN_PROFILE_TAG_PKG TO PZN_MB_USER;</span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="text-indent:-.25in;"><strong><span style="color:#1F497D">9.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span style="color:#1F497D">9. Create the java class to call the procedure.</span></strong></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="margin-left:.25in"><span style="color:#1F497D">public class ProcedureTest2 {</span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void insertProfileTag(){</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Connection dbConn = null;</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object[] so1 = {"ee745b5782bfc311e0b5730a2aba15aa77",31,"C","eDB","2012-08-13",0,"0","2012-08-13","2012-08-13","2012-08-13","eDB"};</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object[] so2 = {"ee745b5782bfc311e0b5730a2aba15aa77",32,"C","eDB","2012-08-13",0,"0","2012-08-13","2012-08-13","2012-08-13","eDB"};</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleCallableStatement callStatement = null;</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Class.forName("oracle.jdbc.driver.OracleDriver");</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dbConn = DriverManager.getConnection("jdbc:oracle:thin:@da957116.fmr.com:1521:orcl", "PZN_MB_USER", "PZN_MB_USER123");</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StructDescriptor st = new StructDescriptor("PZN_ADMIN.PROFILE_TAG_TYPE", dbConn);</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRUCT s1 = new STRUCT(st, dbConn, so1);</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRUCT s2 = new STRUCT(st, dbConn, so2);</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRUCT[] deptArray = { s1, s2 };</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ArrayDescriptor arrayDept = ArrayDescriptor.createDescriptor("PZN_ADMIN.PROFILE_TAG_ARRAY", dbConn);</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ARRAY deptArrayObject = new ARRAY(arrayDept, dbConn, deptArray);</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; callStatement = (OracleCallableStatement) dbConn.prepareCall("{call PZN_PROFILE_TAG_PKG.INSERT_PROFILE_TAG(?)}");</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; callStatement.setArray(1, deptArrayObject);</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; callStatement.executeUpdate();</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dbConn.commit();</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; callStatement.close();</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception e) {</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e.toString());</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>  <p style="margin-left:.25in">&nbsp;</p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insertProfileTag();</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>  <p style="margin-left:.25in"><span style="color:#1F497D">}</span></p>  </div><img src ="http://www.blogjava.net/dashi99/aggbug/385403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2012-08-13 16:17 <a href="http://www.blogjava.net/dashi99/archive/2012/08/13/385403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DML、DDL、DCL区别 .</title><link>http://www.blogjava.net/dashi99/archive/2012/07/17/383307.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Tue, 17 Jul 2012 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2012/07/17/383307.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/383307.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2012/07/17/383307.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/383307.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/383307.html</trackback:ping><description><![CDATA[<p>总体解释：<br />DML（data manipulation language）：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 它们是SELECT、UPDATE、INSERT、DELETE，就象它的名字一样，这4条命令是用来对数据库里的数据进行操作的语言<br />DDL（data definition language）：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DDL比DML要多，主要的命令有CREATE、ALTER、DROP等，DDL主要是用在定义或改变表（TABLE）的结构，数据类型，表之间的链接和约束等初始化工作上，他们大多在建立表时使用<br />DCL（Data Control Language）：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句，包括（grant,deny,revoke等）语句。在默认状态下，只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL</p>
<p>详细解释：<br />一、DDL is Data Definition Language statements. Some examples:数据定义语言，用于定义和管理 SQL 数据库中的所有对象的语言 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.CREATE - to create objects in the database&nbsp;&nbsp; 创建 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.ALTER - alters the structure of the database&nbsp;&nbsp; 修改 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.DROP - delete objects from the database&nbsp;&nbsp; 删除 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TRUNCATE TABLE [Table Name]。 <br />　　下面是对Truncate语句在MSSQLServer2000中用法和原理的说明： <br />　　Truncate table 表名 速度快,而且效率高,因为: <br />　　TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同：二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快，且使用的系统和事务日志资源少。 <br />　　DELETE 语句每次删除一行，并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据，并且只在事务日志中记录页的释放。 <br />　　TRUNCATE TABLE 删除表中的所有行，但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值，请改用 DELETE。如果要删除表定义及其数据，请使用 DROP TABLE 语句。 <br />　　对于由 FOREIGN KEY 约束引用的表，不能使用 TRUNCATE TABLE，而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中，所以它不能激活触发器。 <br />　　TRUNCATE TABLE 不能用于参与了索引视图的表。 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5.COMMENT - add comments to the data dictionary 注释 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6.GRANT - gives user's access privileges to database 授权 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7.REVOKE - withdraw access privileges given with the GRANT command&nbsp;&nbsp; 收回已经授予的权限</p>
<p>二、DML is Data Manipulation Language statements. Some examples:数据操作语言，SQL中处理数据等操作统称为数据操纵语言 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.SELECT - retrieve data from the a database&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查询 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.INSERT - insert data into a table&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 添加 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.UPDATE - updates existing data within a table&nbsp;&nbsp;&nbsp; 更新 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.DELETE - deletes all records from a table, the space for the records remain&nbsp;&nbsp; 删除 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5.CALL - call a PL/SQL or Java subprogram <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6.EXPLAIN PLAN - explain access path to data <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Oracle RDBMS执行每一条SQL语句，都必须经过Oracle优化器的评估。所以，了解优化器是如何选择(搜索)路径以及索引是如何被使用的，对优化SQL语句有很大的帮助。Explain可以用来迅速方便地查出对于给定SQL语句中的查询数据是如何得到的即搜索路径(我们通常称为Access Path)。从而使我们选择最优的查询方式达到最大的优化效果。 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7.LOCK TABLE - control concurrency 锁，用于控制并发</p>
<p>三、DCL is Data Control Language statements. Some examples:数据控制语言，用来授予或回收访问数据库的某种特权，并控制数据库操纵事务发生的时间及效果，对数据库实行监视等 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.COMMIT - save work done 提交 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.SAVEPOINT - identify a point in a transaction to which you can later roll back 保存点 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.ROLLBACK - restore database to original since the last COMMIT&nbsp;&nbsp; 回滚 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.SET TRANSACTION - Change transaction options like what rollback segment to use&nbsp;&nbsp; 设置当前事务的特性，它对后面的事务没有影响．</p><img src ="http://www.blogjava.net/dashi99/aggbug/383307.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2012-07-17 14:25 <a href="http://www.blogjava.net/dashi99/archive/2012/07/17/383307.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SET DEFINE OFF</title><link>http://www.blogjava.net/dashi99/archive/2012/07/17/383306.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Tue, 17 Jul 2012 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2012/07/17/383306.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/383306.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2012/07/17/383306.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/383306.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/383306.html</trackback:ping><description><![CDATA[在SQL*Plus中默认的"&amp;"表示替代变量，也就是说，只要在命令中出现该符号，SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量，如字符串&#8220;SQL&amp;Plus&#8221;系统会理解为以&#8220;SQL&#8221;打头的字符串，它会提示你输入替代变量Plus的值，如果你输入ABC，则最终字符串转化为&#8220;SQLABC&#8221;。 <br />set define off 则关闭该功能，&#8220;&amp;&#8221;将作为普通字符，如上例，最终字符就为&#8220;SQL&amp;Plus&#8221; <br />set define off关闭替代变量功能 <br />set define on 开启替代变量功能 <br />set define *&nbsp; 将默认替代变量标志符该为&#8220;*&#8221;(也可以设为其它字符) <br /><br />Example:<br />SET DEFINE OFF<br />BEGIN<br />UPDATE ADMIN.TAG<br />&nbsp;&nbsp; SET TYPE_ID = 2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUBCATEGORY_ID = 10,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UPDATED_BY = 'A&amp;B',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CREATED_BY = 'A&amp;B',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CREATED_DATE = SYSDATE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UPDATED_DATE = SYSDATE<br />&nbsp;WHERE TAG_ID = 2;<br />END;<br />/<br /><br /><img src ="http://www.blogjava.net/dashi99/aggbug/383306.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2012-07-17 14:22 <a href="http://www.blogjava.net/dashi99/archive/2012/07/17/383306.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Difference between TRUNCATE, DELETE and DROP commands</title><link>http://www.blogjava.net/dashi99/archive/2012/07/12/382884.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Thu, 12 Jul 2012 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2012/07/12/382884.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/382884.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2012/07/12/382884.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/382884.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/382884.html</trackback:ping><description><![CDATA[<h3><a name="DELETE">DELETE</a></h3>
<p>&nbsp;</p>
<p>The DELETE command is used to remove rows from a table. A WHERE clause can be used to only remove some rows. If no WHERE condition is specified, all rows will be removed. After performing a DELETE operation you need to COMMIT or ROLLBACK the transaction to make the change permanent or to undo it. Note that this operation will cause all DELETE triggers on the table to fire.</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">COUNT</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;emp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;</span><span style="color: #ff00ff">COUNT</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">--------</span><span style="color: #008080"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">14</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">DELETE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">WHERE</span><span style="color: #000000">&nbsp;job&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">CLERK</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #800000; font-weight: bold">4</span><span style="color: #000000">&nbsp;rows&nbsp;deleted.<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">COMMIT</span><span style="color: #000000">;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">Commit</span><span style="color: #000000">&nbsp;complete.<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">COUNT</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;emp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;</span><span style="color: #ff00ff">COUNT</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">--------</span><span style="color: #008080"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">10</span></div><br />
<h3><a name="TRUNCATE">TRUNCATE</a></h3>
<p>&nbsp;</p>
<p>TRUNCATE removes <span style="font-weight: bold">all rows</span> from a table. The operation cannot be rolled back and no triggers will be fired. As such, TRUCATE is faster and doesn't use as much undo space as a DELETE.</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TRUNCATE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TABLE</span><span style="color: #000000">&nbsp;emp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">Table</span><span style="color: #000000">&nbsp;truncated.<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">COUNT</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;emp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;</span><span style="color: #ff00ff">COUNT</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">--------</span><span style="color: #008080"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold">0</span></div>
<h3><a name="DROP">DROP</a></h3>
<p>&nbsp;</p>
<p>The DROP command removes a table from the database. All the tables' rows, indexes and privileges will also be removed. No DML triggers will be fired. The operation cannot be rolled back. <br /></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">DROP</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TABLE</span><span style="color: #000000">&nbsp;emp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">Table</span><span style="color: #000000">&nbsp;dropped.<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />SQL</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;emp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;emp<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />ERROR&nbsp;at&nbsp;line&nbsp;</span><span style="color: #800000; font-weight: bold">1</span><span style="color: #000000">:<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />ORA</span><span style="color: #808080">-</span><span style="color: #800000; font-weight: bold">00942</span><span style="color: #000000">:&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">or</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">view</span><span style="color: #000000">&nbsp;does&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;exist<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>DROP and TRUNCATE are DDL commands, whereas DELETE is a DML command. Therefore DELETE operations can be rolled back (undone), while DROP and TRUNCATE operations cannot be rolled back. 
<p>&nbsp;</p>
<p>From Oracle 10g a table can be "undropped". Example:</p>
<p>&nbsp;</p><pre class="bb-code-block">SQL&gt; FLASHBACK TABLE emp TO BEFORE DROP;

Flashback complete.</pre>
<p>&nbsp;</p>
<p>PS: DROP and TRUNCATE are DDL commands, whereas DELETE is a DML command. As such, DELETE operations can be rolled back (undone), while DROP and TRUNCATE operations cannot be rolled back.<br /><br /><br /></p>
<div class="content">
<p>1&gt;TRUNCATE is a DDL command whereas DELETE is a DML command.</p>
<p>2&gt;TRUNCATE is much faster than DELETE.</p>
<p>Reason:When you type DELETE.all the data get copied into the Rollback Tablespace first.then delete operation get performed.Thatswhy when you type ROLLBACK after deleting a table ,you can get back the data(The system get it for you from the Rollback Tablespace).All this process take time.But when you type TRUNCATE,it removes data directly without copying it into the Rollback Tablespace.Thatswhy TRUNCATE is faster.Once you Truncate you cann't get back the data.</p>
<p>3&gt;You cann't rollback in TRUNCATE but in DELETE you can rollback.TRUNCATE removes the record permanently.</p>
<p>4&gt;In case of TRUNCATE ,Trigger doesn't get fired.But in DML commands like DELETE .Trigger get fired.</p>
<p>5&gt;You cann't use conditions(WHERE clause) in TRUNCATE.But in DELETE you can write conditions using WHERE clause<br />6&gt;TRUNCATE command resets the High Water Mark for the table but DELETE does not. So after TRUNCATE the operations on table are much faster. </p></div><img src ="http://www.blogjava.net/dashi99/aggbug/382884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2012-07-12 15:30 <a href="http://www.blogjava.net/dashi99/archive/2012/07/12/382884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL SERVER 2005 如何启动服务?</title><link>http://www.blogjava.net/dashi99/archive/2009/12/04/304794.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Fri, 04 Dec 2009 09:05:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2009/12/04/304794.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/304794.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2009/12/04/304794.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/304794.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/304794.html</trackback:ping><description><![CDATA[<p>1.「开始」菜单-&gt;运行</p>
<p>--启动sql server 2005 服务<br />
net start mssqlserver</p>
<p>--停止sql server 2005 服务<br />
net stop mssqlserver</p>
<p>2.「开始」菜单-&gt;程序-&gt;Microsoft SQL Server 2005-&gt;配置工具<br />
SQL Server Configuration Manager-&gt;SQL Server(MSSQLSERVER) 右击 启动服务成功后，状态显示为&#8220;正在运行&#8221;</p>
<p>3.「开始」菜单-&gt;运行-&gt;services.msc 服务控制台<br />
SQL Server(MSSQLSERVER) 右击 启动成功后，状态显示为&#8220;已启动&#8221;</p>
注意：关于1433端口问题？<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在安装SQL SERVER 2005的时候默认没有启动TCP/IP及1433端口，我们可以在SQL Server Configuration Manager<br />
-&gt;SQL Native Client 配置-&gt;客户端协议 下将Tcp/IP及1433端口开通。
<img src ="http://www.blogjava.net/dashi99/aggbug/304794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2009-12-04 17:05 <a href="http://www.blogjava.net/dashi99/archive/2009/12/04/304794.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>can not be represented as java.sql.Timestamp</title><link>http://www.blogjava.net/dashi99/archive/2009/06/20/283355.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Sat, 20 Jun 2009 07:20:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2009/06/20/283355.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/283355.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2009/06/20/283355.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/283355.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/283355.html</trackback:ping><description><![CDATA[<p>使用hibernate开发程序的时候，有的时间字段没有必要填写，但是，以后hibernate查询的时候会报出</p>
<p>&#8220;<strong><span id="topicSubject">java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp</span></strong>&#8221;</p>
<p>的错误， 这是因为hibernate认为这个不是一个有效的时间字串。 </p>
<p>而有效的日期格式为&#8220; 0001-01-01 &nbsp; 00:00:00.0 &#8221;</p>
<p><br />
查看了mysql5的帮助文档对于datetime的解释如下</p>
<p>Datetimes with all-zero components (0000-00-00 ...) — These values can not be represented 关于所有Datetime类型由0组成的数据，这些值不能在java中被可靠的表示<br />
reliably in Java. <br />
Connector/J 3.0.x always converted them to NULL when being read from a ResultSet. <br />
当这些值正在从ResultSet容器中读取时候，Connector/J 3.0.x 一直把他们转换为NULL值。</p>
<p>Connector/J 3.1 throws an exception by default when these values are encountered as this is the most correct behavior according to the JDBC and SQL standards.<br />
依照JDBC和SQL的标准这些值碰到的最正确的处理方式就是在缺省情况下产生异常<br />
This behavior can be modified using the zeroDateTimeBehavior configuration property. The allowable values are: <br />
JDBC允许用下列的值对zeroDateTimeBehavior 属性来设置这些处理方式，</p>
<p>exception (the default), which throws an SQLException with an SQLState of S1009. <br />
设置为exception 异常（缺省）用一个SQLState的s1009错误号来抛出一个异常<br />
convertToNull, which returns NULL instead of the date. <br />
设置为convertToNull，用NULL值来代替这个日期类型<br />
round, which rounds the date to the nearest closest value which is 0001-01-01. <br />
设置为round，则围绕这个日期最接近的值（0001-01-01）来代替</p>
<p>&nbsp;</p>
修改你的jdbc连接
<p><span class="bold"><strong>jdbc:mysql://localhost/schoolmis?useUnicode=true&amp;characterEncoding=utf8&amp;<span style="color: red">zeroDateTimeBehavior=convertToNull</span><br />
</strong></span></p>
 <img src ="http://www.blogjava.net/dashi99/aggbug/283355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2009-06-20 15:20 <a href="http://www.blogjava.net/dashi99/archive/2009/06/20/283355.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无法远程登入MySQL Server解决</title><link>http://www.blogjava.net/dashi99/archive/2009/02/03/253051.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Tue, 03 Feb 2009 03:26:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2009/02/03/253051.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/253051.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2009/02/03/253051.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/253051.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/253051.html</trackback:ping><description><![CDATA[尝试用MySQL Adminstrator GUI Tool登入MySQL Server，Server却回复错误讯息：Host &#8217;60-248-32-13.HINET-IP.hinet.net&#8217; is not allowed to connect to this&nbsp; MySQL server&nbsp;
<p>　　这个是因为权限的问题，处理方式如下：&nbsp; <br />
　　shell&gt;mysql --user=root -p&nbsp; <br />
　　输入密码&nbsp; <br />
　　mysql&gt;use mysql&nbsp; <br />
　　mysql&gt;GRANT SELECT,INSERT,UPDATE,DELETE ON [db_name].* TO [username]@[ipadd] identified by &#8217;[password]&#8217;;&nbsp; </p>
<p>　　[username]:远程登入的使用者代码&nbsp; <br />
　　［db_name]:表示欲开放给使用者的数据库称&nbsp; <br />
　　[password]:远程登入的使用者密码&nbsp; <br />
　　[ipadd]:IP地址或者IP反查后的DNS Name，此例的内容需填入&#8217;60-248-32-13.HINET-IP.hinet.net&#8217; ，包函上引号(&#8217;)&nbsp; </p>
<p>　　（其实就是在远端<a title="服务器" style="color: #000000" href="http://server.it168.com/" target="_blank">服务器</a>上执行，地址填写本地主机的ip地址。）&nbsp; </p>
<p>　　如果希望开放所有权限的话请执行：&nbsp; <br />
　　mysql&gt;update user set select_priv=&#8217;Y&#8217; , Insert_priv=&#8217;Y&#8217;, Update_priv=&#8217;Y&#8217;, delete_priv=&#8217;Y&#8217;, Create_priv=&#8217;Y&#8217;, Drop_priv=&#8217;Y&#8217;,Reload_priv=&#8217;Y&#8217;, shutdown_priv=&#8217;Y&#8217;, Process_priv=&#8217;Y&#8217;, File_priv=&#8217;Y&#8217;, Grant_priv=&#8217;Y&#8217;, references_priv=&#8217;Y&#8217;,Index_priv=&#8217;Y&#8217;, Alter_priv=&#8217;Y&#8217;, Show_db_priv=&#8217;Y&#8217;, Super_priv=&#8217;Y&#8217;,Create_tmp_table_priv=&#8217;Y&#8217;,Lock_tables_priv=&#8217;Y&#8217;, Execute_priv=&#8217;Y&#8217;,Repl_slave_priv=&#8217;Y&#8217;,Repl_client_priv=&#8217;Y&#8217; where user=&#8217;[username]&#8217;;&nbsp; </p>
<p>　　如何解决客户端与服务器端的连接(mysql) ：xxx.xxx.xxx.xxx is not allowed to connect to this mysql serv&nbsp;&nbsp; </p>
<p>　　这两天搞MySQL,遇到一些问题，怕忘掉，放上来，留着备用&nbsp; </p>
<p>　　这个方法是在google上搜出来的，不过他是转自CSDN，^_^&nbsp; </p>
<p>　　1、进入mysql，创建一个新用户xuys：&nbsp; <br />
　　&nbsp;格式：grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";&nbsp; <br />
　　&nbsp;grant select,update,insert,delete on *.* to xuys@192.168.88.234 identified by "xuys1234";&nbsp; <br />
　　&nbsp;&nbsp; 查看结果，执行：&nbsp; <br />
　　&nbsp;&nbsp; use mysql;&nbsp; <br />
　　&nbsp;&nbsp; select host,user,password from user;&nbsp; <br />
　　&nbsp;&nbsp; 可以看到在user表中已有刚才创建的xuys用户。host字段表示登录的主机，其值可以用IP，也可用主机名，&nbsp; <br />
　　&nbsp;&nbsp; 将host字段的值改为%就表示在任何客户端机器上能以xuys用户登录到mysql服务器，建议在开发时设为%。&nbsp; <br />
　　&nbsp;&nbsp; update user set host = &#8217;%&#8217; where user = &#8217;xuys&#8217;;&nbsp; <br />
　　2、 ./mysqladmin -uroot -p21century reload&nbsp; <br />
　　&nbsp;./mysqladmin -uroot -p21century shutdown&nbsp; <br />
　　3、./mysqld_safe --user-root &amp;&nbsp; <br />
　　记住：对授权表的任何修改都需要重新reload，即执行第3步。&nbsp; </p>
<p>　　如果经过以上3个步骤还是无法从客户端连接，请执行以下操作，在mysql数据库的db表中插入一条记录：&nbsp; <br />
　　use mysql;&nbsp; <br />
　　insert into db values(&#8217;192.168.88.234&#8217;,&#8217;%&#8217;,&#8217;xuys&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;,&#8217;Y&#8217;);&nbsp; <br />
　　update db set host = &#8217;%&#8217; where user = &#8217;xuys&#8217;;&nbsp; <br />
　　重复执行上面的第2、3步。</p>
<img src ="http://www.blogjava.net/dashi99/aggbug/253051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2009-02-03 11:26 <a href="http://www.blogjava.net/dashi99/archive/2009/02/03/253051.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MYSQL 连接数据库命令收藏</title><link>http://www.blogjava.net/dashi99/archive/2009/02/03/253038.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Tue, 03 Feb 2009 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2009/02/03/253038.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/253038.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2009/02/03/253038.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/253038.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/253038.html</trackback:ping><description><![CDATA[<div class="cnt" id="blog_text">
<p>一、MySQL 连接本地数据库，用户名为&#8220;root&#8221;，密码&#8220;123&#8221;（注意：&#8220;-p&#8221;和&#8220;123&#8221; 之间不能有空格）</p>
<pre class="cmdcode">C:\&gt;mysql -h localhost -u root -p123</pre>
<p>二、MySQL 连接远程数据库（192.168.0.201），端口&#8220;3306&#8221;，用户名为&#8220;root&#8221;，密码&#8220;123&#8221;</p>
<pre class="cmdcode">C:\&gt;mysql -h 172.16.16.45 -P 3306 -u root -p123</pre>
<p>三、MySQL 连接本地数据库，用户名为&#8220;root&#8221;，隐藏密码</p>
<pre class="cmdcode">C:\&gt;mysql -h localhost -u root -p<br />
Enter password:</pre>
<p>四、MySQL 连接本地数据库，用户名为&#8220;root&#8221;，指定所连接的数据库为&#8220;test&#8221;</p>
<pre class="cmdcode">C:\&gt;mysql -h localhost -u root -p123 -D test<br />
mysql&gt;select database();<br />
+------------+<br />
| database() |<br />
+------------+<br />
| test       |<br />
+------------+</pre>
<p>下面是 MySQL 客户端命令的详细参数：</p>
<pre class="cmdcode">mysql  Ver 14.12 Distrib 5.0.41, for Win32 (ia32)<br />
Copyright (C) 2002 MySQL AB<br />
This software comes with ABSOLUTELY NO WARRANTY. This is free software,<br />
and you are welcome to modify and redistribute it under the GPL license<br />
<br />
Usage: mysql [OPTIONS] [database]<br />
-?, --help          Display this help and exit.<br />
-I, --help          Synonym for -?<br />
--auto-rehash       Enable automatic rehashing. One doesn't need to use<br />
'rehash' to get table and field completion, but startup<br />
and reconnecting may take a longer time. Disable with<br />
--disable-auto-rehash.<br />
-A, --no-auto-rehash <br />
No automatic rehashing. One has to use 'rehash' to get<br />
table and field completion. This gives a quicker start of<br />
mysql and disables rehashing on reconnect. WARNING:<br />
options deprecated; use --disable-auto-rehash instead.<br />
-B, --batch         Don't use history file. Disable interactive behavior.<br />
(Enables --silent)<br />
--character-sets-dir=name <br />
Directory where character sets are.<br />
--default-character-set=name <br />
Set the default character set.<br />
-C, --compress      Use compression in server/client protocol.<br />
-#, --debug[=#]     This is a non-debug version. Catch this and exit<br />
-D, --database=name Database to use.<br />
--delimiter=name    Delimiter to be used.<br />
-e, --execute=name  Execute command and quit. (Disables --force and history<br />
file)<br />
-E, --vertical      Print the output of a query (rows) vertically.<br />
-f, --force         Continue even if we get an sql error.<br />
-G, --named-commands <br />
Enable named commands. Named commands mean this program's<br />
internal commands; see mysql&gt; help . When enabled, the<br />
named commands can be used from any line of the query,<br />
otherwise only from the first line, before an enter.<br />
Disable with --disable-named-commands. This option is<br />
disabled by default.<br />
-g, --no-named-commands <br />
Named commands are disabled. Use \* form only, or use<br />
named commands only in the beginning of a line ending<br />
with a semicolon (;) Since version 10.9 the client now<br />
starts with this option ENABLED by default! Disable with<br />
'-G'. Long format commands still work from the first<br />
line. WARNING: option deprecated; use<br />
--disable-named-commands instead.<br />
-i, --ignore-spaces Ignore space after function names.<br />
--local-infile      Enable/disable LOAD DATA LOCAL INFILE.<br />
-b, --no-beep       Turn off beep on error.<br />
-h, --host=name     Connect to host.<br />
-H, --html          Produce HTML output.<br />
-X, --xml           Produce XML output<br />
--line-numbers      Write line numbers for errors.<br />
-L, --skip-line-numbers <br />
Don't write line number for errors. WARNING: -L is<br />
deprecated, use long version of this option instead.<br />
-n, --unbuffered    Flush buffer after each query.<br />
--column-names      Write column names in results.<br />
-N, --skip-column-names <br />
Don't write column names in results. WARNING: -N is<br />
deprecated, use long version of this options instead.<br />
-O, --set-variable=name <br />
Change the value of a variable. Please note that this<br />
option is deprecated; you can set variables directly with<br />
--variable-name=value.<br />
--sigint-ignore     Ignore SIGINT (CTRL-C)<br />
-o, --one-database  Only update the default database. This is useful for<br />
skipping updates to other database in the update log.<br />
-p, --password[=name] <br />
Password to use when connecting to server. If password is<br />
not given it's asked from the tty.<br />
-W, --pipe          Use named pipes to connect to server.<br />
-P, --port=#        Port number to use for connection.<br />
--prompt=name       Set the mysql prompt to this value.<br />
--protocol=name     The protocol of connection (tcp,socket,pipe,memory).<br />
-q, --quick         Don't cache result, print it row by row. This may slow<br />
down the server if the output is suspended. Doesn't use<br />
history file.<br />
-r, --raw           Write fields without conversion. Used with --batch.<br />
--reconnect         Reconnect if the connection is lost. Disable with<br />
--disable-reconnect. This option is enabled by default.<br />
-s, --silent        Be more silent. Print results with a tab as separator,<br />
each row on new line.<br />
--shared-memory-base-name=name <br />
Base name of shared memory.<br />
-S, --socket=name   Socket file to use for connection.<br />
--ssl               Enable SSL for connection (automatically enabled with<br />
other flags). Disable with --skip-ssl.<br />
--ssl-ca=name       CA file in PEM format (check OpenSSL docs, implies<br />
--ssl).<br />
--ssl-capath=name   CA directory (check OpenSSL docs, implies --ssl).<br />
--ssl-cert=name     X509 cert in PEM format (implies --ssl).<br />
--ssl-cipher=name   SSL cipher to use (implies --ssl).<br />
--ssl-key=name      X509 key in PEM format (implies --ssl).<br />
--ssl-verify-server-cert <br />
Verify server's "Common Name" in its cert against<br />
hostname used when connecting. This option is disabled by<br />
default.<br />
-t, --table         Output in table format.<br />
-T, --debug-info    Print some debug info at exit.<br />
--tee=name          Append everything into outfile. See interactive help (\h)<br />
also. Does not work in batch mode. Disable with<br />
--disable-tee. This option is disabled by default.<br />
--no-tee            Disable outfile. See interactive help (\h) also. WARNING:<br />
option deprecated; use --disable-tee instead<br />
-u, --user=name     User for login if not current user.<br />
-U, --safe-updates  Only allow UPDATE and DELETE that uses keys.<br />
-U, --i-am-a-dummy  Synonym for option --safe-updates, -U.<br />
-v, --verbose       Write more. (-v -v -v gives the table output format).<br />
-V, --version       Output version information and exit.<br />
-w, --wait          Wait and retry if connection is down.<br />
--connect_timeout=# Number of seconds before connection timeout.<br />
--max_allowed_packet=# <br />
Max packet length to send to, or receive from server<br />
--net_buffer_length=# <br />
Buffer for TCP/IP and socket communication<br />
--select_limit=#    Automatic limit for SELECT when using --safe-updates<br />
--max_join_size=#   Automatic limit for rows in a join when using<br />
--safe-updates<br />
--secure-auth       Refuse client connecting to server if it uses old<br />
(pre-4.1.1) protocol<br />
--show-warnings     Show warnings after every statement.<br />
<br />
Default options are read from the following files in the given order:<br />
C:\my.ini C:\my.cnf C:\WINDOWS\my.ini C:\WINDOWS\my.cnf D:\MySQL\my.ini D:\MySQL\my.cnf <br />
The following groups are read: mysql client<br />
The following options may be given as the first argument:<br />
--print-defaults Print the program argument list and exit<br />
--no-defaults  Do not read default options from any options file<br />
--defaults-file=# Only read default options from the given file #<br />
--defaults-extra-file=# Read this file after the global files are read<br />
<br />
Variables (--variable-name=value)<br />
and boolean options {FALSE|TRUE}  Value (after reading options)<br />
--------------------------------- -----------------------------<br />
auto-rehash                       TRUE<br />
character-sets-dir                (No default value)<br />
default-character-set             utf8<br />
compress                          FALSE<br />
database                          (No default value)<br />
delimiter                         ;<br />
vertical                          FALSE<br />
force                             FALSE<br />
named-commands                    FALSE<br />
local-infile                      FALSE<br />
no-beep                           FALSE<br />
host                              (No default value)<br />
html                              FALSE<br />
xml                               FALSE<br />
line-numbers                      TRUE<br />
unbuffered                        FALSE<br />
column-names                      TRUE<br />
sigint-ignore                     FALSE<br />
port                              3306<br />
prompt                            mysql&gt; <br />
quick                             FALSE<br />
raw                               FALSE<br />
reconnect                         TRUE<br />
shared-memory-base-name           (No default value)<br />
socket                            (No default value)<br />
ssl                               FALSE<br />
ssl-ca                            (No default value)<br />
ssl-capath                        (No default value)<br />
ssl-cert                          (No default value)<br />
ssl-cipher                        (No default value)<br />
ssl-key                           (No default value)<br />
ssl-verify-server-cert            FALSE<br />
table                             FALSE<br />
debug-info                        FALSE<br />
user                              (No default value)<br />
safe-updates                      FALSE<br />
i-am-a-dummy                      FALSE<br />
connect_timeout                   0<br />
max_allowed_packet                16777216<br />
net_buffer_length                 16384<br />
select_limit                      1000<br />
max_join_size                     1000000<br />
secure-auth                       FALSE<br />
show-warnings                     FALSE</pre>
</div>
 <img src ="http://www.blogjava.net/dashi99/aggbug/253038.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2009-02-03 10:47 <a href="http://www.blogjava.net/dashi99/archive/2009/02/03/253038.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>