ʹÓÃSQL*PLUS¹¹½¨ÍêÃÀexcel»òhtmlÊä³ö
ת×Ô£ºhttp://hong9270503.blog.163.com/blog/static/127292320091611319516/
ͨ¹ýSQL*PLUSÎÒÃÇ¿ÉÒÔ¹¹½¨ÓѺõÄÊä³ö£¬Âú×ã¶àÑù»¯Óû§ÐèÇó¡£
¡¡¡¡
±¾Àýͨ¹ý¼òµ¥Ê¾Àý£¬½éÉÜͨ¹ýsql*plusÊä³öxls£¬htmlÁ½ÖÖ¸ñʽÎļþ.
¡¡¡¡ Ê×ÏÈ´´½¨Á½¸ö½Å±¾:
¡¡¡¡
1.main.sql
¡¡¡¡ ÓÃÒÔÉèÖû·¾³£¬µ÷ÓþßÌ幦Äܽű¾
¡¡¡¡ 2.¹¦Äܽű¾-get_tables.sql
¡¡¡¡
ΪʵÏÖ¾ßÌ幦ÄÜÖ®½Å±¾
¡¡¡¡ ͨ¹ýÕâÑùÁ½¸ö½Å±¾¿ÉÒÔ±ÜÃâspoolÖеÄÈßÓàÐÅÏ¢.
¡¡¡¡ ʾÀýÈçÏÂ:
¡¡¡¡
1.main.sql½Å±¾:
[oracle@jumper utl_file]$ more main.sql
set
linesize 200
set term off verify off feedback off pagesize 999
set
markup html on entmap ON spool on preformat off
spool tables.xls
@get_tables.sql
spool
off
exit
¡¡¡¡ 2.get_tables.sql½Å±¾:
[oracle@jumper
utl_file]$ more get_tables.sql
select
owner,table_name,tablespace_name,blocks,last_analyzed
from all_tables
order by 1,2;
¡¡¡¡ 3.Ö´Ðв¢»ñµÃÊä³ö:
[oracle@jumper utl_file]$
sqlplus "/ as sysdba" @main
SQL*Plus: Release 9.2.0.4.0 -
Production on Mon Apr 25 10:30:11 2005
Copyright (c) 1982, 2002,
Oracle Corporation. All rights reserved.
Connected to:
Oracle9i
Enterprise Edition Release 9.2.0.4.0 - Production
With the
Partitioning option
JServer Release 9.2.0.4.0 - Production
Disconnected
from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With
the Partitioning option
JServer Release 9.2.0.4.0 - Production
[oracle@jumper
utl_file]$ ls -l tables.xls
-rw-r--r-- 1 oracle dba 69539 Apr 25
10:30 tables.xls
[oracle@jumper utl_file]$
¡¡¡¡´Ë´¦Êä³öΪxlsÎļþ£¬Í¨¹ýÏÂͼÎÒ
ÃÇ¿ÉÒÔ¿´µ½Êä³öЧ¹û:
¡¡¡¡°Ñmain.sql½Å±¾Öеģ¬spool tables.xls¸ü¸ÄΪspool
tables.htm,ÎÒÃÇ¿ÉÒÔ»ñµÃhtm¸ñʽÊä³ö£¬Ð§¹ûÈçÏÂͼ:
Ïà¹ØÎĵµ£º
DECLARE @HDOC INT --Îĵµ¾ä±ú
DECLARE @XMLSTRING VARCHAR(200) --XML×Ö·û´®
SET @xmlString ='<?xml version="1.0"?>
<ROOT>
<USER ID="1" Name="SBQCEL"/>
<USER ID="2" Name="PEACELI"/>
<USER ID="3" Name="SHEEPCHANG"/>
</ROOT>'
--ʹÓÃϵͳ´æ´¢ ......
ÔÚSQL Server2005ÖÐÓÐFOR XML Ó÷¨£¬¿ÉÒÔ½²Ò»¸ö±í×÷Ϊһ¸ö×ֶΡ£
ÎÒµÄÉè¼ÆÏë·¨Ö÷ÒªÊÇÓÃÔÚ1¶Ô¶àµÄ¹ØÏµÖбí¶ÁÈ¡µÄÎÊÌâ¡£
±íA ±íB
ÔÚAÖÐÓÐÒ»Ìõ¼Ç¼¶øÔÚBÖÐÓжàÌõ¼Ç¼¿ÉÒÔ²ÎÕÕÏÂÃæµÄд·¨£º£¨ÎÒµÄÏîÄ¿ÖÐÓõ½µÄ£¬ÐÞ¸ÄÁË×Ö¶ÎÖ÷ÒªÊÇÑÝʾÓã©
select A.*,
(SELECT a, CAST(G_Univalence AS NVARCHAR(48)) AS G_Univa ......
SQLÑ»·Óï¾ä
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end
---------------
while Ìõ¼þ
begin
Ö´ÐвÙ×÷
set @i=@i+1
end
WHILE
ÉèÖÃÖØ¸´Ö´ÐÐ SQL Óï¾ä»òÓï¾ä¿éµÄÌõ¼þ¡£Ö»ÒªÖ¸¶¨µÄÌõ¼þÎªÕæ£¬¾ÍÖØ¸´Ö´ÐÐÓï¾ä¡£¿ÉÒÔʹÓà BREAK ºÍ CONTI ......
Ò»¡¢½»²æÁ¬½Ó£¨CROSS JOIN£©
½»²æÁ¬½Ó£¨CROSS JOIN£©£ºÓÐÁ½ÖÖ£¬ÏÔʽµÄºÍÒþʽµÄ£¬²»´øON×Ӿ䣬·µ»ØµÄÊÇÁ½±íµÄ³Ë»ý£¬Ò²½ÐµÑ¿¨¶û»ý¡£
ÀýÈ磺ÏÂÃæµÄÓï¾ä1ºÍÓï¾ä2µÄ½á¹ûÊÇÏàͬµÄ¡£
Óï¾ä1£ºÒþʽµÄ½»²æÁ¬½Ó£¬Ã»ÓÐCROSS JOIN¡£
SELECT O.ID, O.ORDER_NUMBER, C.ID, C.NAME
from ORDERS O , CUSTOMERS C
WHERE O.ID=1;
Óï¾ä2£ ......
·Ö²¼Ê½²éѯ
OPENROWSET
´ÓExcelÈ¡Êý¾Ý
SELECT * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=d:\1.xls',[Sheet1$])
´ÓOracleÈ¡Êý¾Ý
SELECT * from OPENROWSET('MSDAORA.1','NetServiceName ......