¶þ¡¢ÒÔÐβεÄÐÎʽ¶¨ÒåºÍʹÓüǼ¡¢¶ÔÏóÀàÐÍ
ÔÚÓÃ×÷ÐÎʽ²ÎÊýʱ£¬¼Ç¼ÀàÐͺͶÔÏóÀàÐÍÓкܶàÏà֮ͬ´¦¡£ÔÚ½«ËüÃÇ×÷ΪÓαꡢº¯Êý»ò¹ý³ÌµÄÐÎʽ²ÎÊýÒÔǰ£¬ÊÂÏȶ¼±ØÐ붨ÒåÒ»¸ö¼Ç¼ÀàÐÍ»òÕß¶ÔÏóÀàÐÍ¡£
ÈçÏÂÀýËùʾ£º
¼Ç¼
DECLARE
-- Define a record type.
TYPE individual_record IS RECORD
(individual_id INTEGER
,first_name VARCHAR2(30 CHAR)
,middle_initial VARCHAR2(1 CHAR)
,last_name VARCHAR2(30 CHAR));
-- Define a record type.
TYPE address_record IS RECORD
(address_id INTEGER
,individual_id INTEGER
,street_address1 VARCHAR2(30 CHAR)
,street_address2 VARCHAR2(30 CHAR)
,street_address3 VARCHAR2(30 CHAR)
,city VARCHAR2(20 CHAR)
,state VARCHAR2(20 CHAR)
,postal_code VARCHAR2(20 CHAR)
,country_code VARCHAR2(10 CHAR));
-- Define a record type of two user defined record type variables.
TYPE individual_address_record IS RECORD
(individual INDIVIDUAL_RECORD
,address ADDRESS_RECORD ......
¶þ¡¢ÒÔÐβεÄÐÎʽ¶¨ÒåºÍʹÓüǼ¡¢¶ÔÏóÀàÐÍ
ÔÚÓÃ×÷ÐÎʽ²ÎÊýʱ£¬¼Ç¼ÀàÐͺͶÔÏóÀàÐÍÓкܶàÏà֮ͬ´¦¡£ÔÚ½«ËüÃÇ×÷ΪÓαꡢº¯Êý»ò¹ý³ÌµÄÐÎʽ²ÎÊýÒÔǰ£¬ÊÂÏȶ¼±ØÐ붨ÒåÒ»¸ö¼Ç¼ÀàÐÍ»òÕß¶ÔÏóÀàÐÍ¡£
ÈçÏÂÀýËùʾ£º
¼Ç¼
DECLARE
-- Define a record type.
TYPE individual_record IS RECORD
(individual_id INTEGER
,first_name VARCHAR2(30 CHAR)
,middle_initial VARCHAR2(1 CHAR)
,last_name VARCHAR2(30 CHAR));
-- Define a record type.
TYPE address_record IS RECORD
(address_id INTEGER
,individual_id INTEGER
,street_address1 VARCHAR2(30 CHAR)
,street_address2 VARCHAR2(30 CHAR)
,street_address3 VARCHAR2(30 CHAR)
,city VARCHAR2(20 CHAR)
,state VARCHAR2(20 CHAR)
,postal_code VARCHAR2(20 CHAR)
,country_code VARCHAR2(10 CHAR));
-- Define a record type of two user defined record type variables.
TYPE individual_address_record IS RECORD
(individual INDIVIDUAL_RECORD
,address ADDRESS_RECORD ......
Èý¡¢Ç¶Ì×±íµÄʹÓ÷½·¨
1¡¢½«Ç¶Ì×±í¶¨ÒåΪPL/SQLµÄ³ÌÐò¹¹Ôì¿é
TYPE type_name IS TABLE OF element_type[NOT NULL];
ÈçÏÂÀýËùʾ£º
DECLARE
-- Define a nested table of variable length strings.
TYPE card_table IS TABLE OF VARCHAR2(5 CHAR);
-- Declare and initialize a nested table with three rows.
cards CARD_TABLE := card_table(NULL,NULL,NULL);
BEGIN
-- Print title.
dbms_output.put_line(
'Nested table initialized as nulls.');
dbms_output.put_line(
'----------------------------------');
-- Loop through the three records.
FOR i IN 1..3 LOOP
-- Print the contents.
dbms_output.put ('Cards Varray ['||i||'] ');
dbms_output.put_line('['||cards(i)||']');
END LOOP;
-- Assign values to subscripted members of the varray.
cards(1) := 'Ace';
cards(2) := 'Two';
cards(3) := 'Three';
-- Print title.
dbms_output.put (CHR(10)); -- Visual line break.
dbms_output.put_line(
'Nest ......
Èý¡¢Ç¶Ì×±íµÄʹÓ÷½·¨
1¡¢½«Ç¶Ì×±í¶¨ÒåΪPL/SQLµÄ³ÌÐò¹¹Ôì¿é
TYPE type_name IS TABLE OF element_type[NOT NULL];
ÈçÏÂÀýËùʾ£º
DECLARE
-- Define a nested table of variable length strings.
TYPE card_table IS TABLE OF VARCHAR2(5 CHAR);
-- Declare and initialize a nested table with three rows.
cards CARD_TABLE := card_table(NULL,NULL,NULL);
BEGIN
-- Print title.
dbms_output.put_line(
'Nested table initialized as nulls.');
dbms_output.put_line(
'----------------------------------');
-- Loop through the three records.
FOR i IN 1..3 LOOP
-- Print the contents.
dbms_output.put ('Cards Varray ['||i||'] ');
dbms_output.put_line('['||cards(i)||']');
END LOOP;
-- Assign values to subscripted members of the varray.
cards(1) := 'Ace';
cards(2) := 'Two';
cards(3) := 'Three';
-- Print title.
dbms_output.put (CHR(10)); -- Visual line break.
dbms_output.put_line(
'Nest ......
ËÄ¡¢ÁªºÏÊý×éµÄʹÓ÷½·¨
ÁªºÏÊý×éÒÔǰ±»³ÆÎªPL/SQL±í¡£ÔÚ±íÖв»ÄÜʹÓÃÁªºÏÊý×飬ֻÄܽ«ËüÃÇÓÃ×÷³ÌÐòÉè¼ÆµÄ½á¹¹Ìå¡£Ö»ÄÜÔÚPL/SQLÖзÃÎÊÁªºÏÊý×é¡£
×¢Òâµ½ÁªºÏÊý×é´øÀ´µÄһЩ¹Ø¼üÎÊÌâÊǷdz£ÖØÒªµÄ¡£ÕâЩÎÊÌâʹÎÒÃǽéÉÜËüÃǵÄÓ÷¨Ê±£¬ÐèÒª²ÉÈ¡Ò»Ð©ÌØ±ðµÄ·½·¨¡£ÕâЩÎÊÌâ°üÀ¨£º
ÁªºÏÊý×é²»ÐèÒª³õʼ»¯£¬Ò²Ã»Óй¹Ô캯ÊýÓï·¨¡£ÔÚ¶ÔËüÃǽøÐи³ÖµÒÔǰ£¬Ò²²»ÐèҪרÃÅΪÆä·ÖÅä´æ´¢¿Õ¼ä£¬Ò²¾Í²»ÐèҪʹÓü¯ºÏAPIµÄEXTEND·½·¨¡£
ÔÚORACLE 10GÖУ¬ÒÔ¼°ÔÚORACLE 10GÒÔǰµÄ°æ±¾ÖУ¬¶¼¿ÉÒÔʹÓÃÊý×ÖË÷ÒýÁªºÏÊý×é¡£ÁíÍ⣬ÔÚORACLE 10GÖУ¬»¹¿ÉÒÔʹÓþßÓÐΨһÐԵı䳤×Ö·û´®×÷ΪÁªºÏÊý×éµÄË÷Òý¡£
¿ÉÒÔʹÓÃÈÎÒâµÄÕûÊý×÷ΪÁªºÏÊý×éµÄË÷Òý£¬Õâ¾Í˵Ã÷ÁªºÏÊý×éµÄË÷Òý¿ÉÒÔÊÇÈÎÒâÕýÊý¡¢¸ºÊý»ò0¡£
¿ÉÒÔÏÔʽµØ½«µÈ¼ÛµÄ%ROWTYPE¡¢¼Ç¼ÀàÐͺͶÔÏóÀàÐ͵ķµ»ØÖµ£¬×ª»»³ÉÁªºÏÊý×éµÄ½á¹¹Ìå¡£
ÁªºÏÊý×éÊÇʹÓÃFORALLÓï¾ä»òBULK COLLECT×Ó¾äµÄ¹Ø¼ü£¬¶øºóÕßÔòÔÊÐíÊý¾Ý¿âµ½³ÌÐòÉè¼Æµ¥ÔªµÄÅúת»»¡£
ÔÚʹÓÃÁËÈ«Çò»¯ÉèÖã¬ÀýÈçNLS_COMP»òNLS_SORT³õʼ»¯²ÎÊýµÄÊý¾Ý¿âÖУ¬½«×Ö·û´®ÓÃ×÷ÁªºÏÊý×éË÷ÒýµÄʱºò£¬ÐèÒªÎÒÃǽøÐÐÌØÊâµÄ´¦Àí¡£
1¡¢¶¨ÒåÁªºÏÊý×éºÍÓÃ×÷PL/SQLµÄ³ÌÐò½á¹¹Ìå
ÔÚPL/SQLÓïÑÔÖж¨ÒåÁªºÏÊý×éµÄÓ ......
ËÄ¡¢ÁªºÏÊý×éµÄʹÓ÷½·¨
ÁªºÏÊý×éÒÔǰ±»³ÆÎªPL/SQL±í¡£ÔÚ±íÖв»ÄÜʹÓÃÁªºÏÊý×飬ֻÄܽ«ËüÃÇÓÃ×÷³ÌÐòÉè¼ÆµÄ½á¹¹Ìå¡£Ö»ÄÜÔÚPL/SQLÖзÃÎÊÁªºÏÊý×é¡£
×¢Òâµ½ÁªºÏÊý×é´øÀ´µÄһЩ¹Ø¼üÎÊÌâÊǷdz£ÖØÒªµÄ¡£ÕâЩÎÊÌâʹÎÒÃǽéÉÜËüÃǵÄÓ÷¨Ê±£¬ÐèÒª²ÉÈ¡Ò»Ð©ÌØ±ðµÄ·½·¨¡£ÕâЩÎÊÌâ°üÀ¨£º
ÁªºÏÊý×é²»ÐèÒª³õʼ»¯£¬Ò²Ã»Óй¹Ô캯ÊýÓï·¨¡£ÔÚ¶ÔËüÃǽøÐи³ÖµÒÔǰ£¬Ò²²»ÐèҪרÃÅΪÆä·ÖÅä´æ´¢¿Õ¼ä£¬Ò²¾Í²»ÐèҪʹÓü¯ºÏAPIµÄEXTEND·½·¨¡£
ÔÚORACLE 10GÖУ¬ÒÔ¼°ÔÚORACLE 10GÒÔǰµÄ°æ±¾ÖУ¬¶¼¿ÉÒÔʹÓÃÊý×ÖË÷ÒýÁªºÏÊý×é¡£ÁíÍ⣬ÔÚORACLE 10GÖУ¬»¹¿ÉÒÔʹÓþßÓÐΨһÐԵı䳤×Ö·û´®×÷ΪÁªºÏÊý×éµÄË÷Òý¡£
¿ÉÒÔʹÓÃÈÎÒâµÄÕûÊý×÷ΪÁªºÏÊý×éµÄË÷Òý£¬Õâ¾Í˵Ã÷ÁªºÏÊý×éµÄË÷Òý¿ÉÒÔÊÇÈÎÒâÕýÊý¡¢¸ºÊý»ò0¡£
¿ÉÒÔÏÔʽµØ½«µÈ¼ÛµÄ%ROWTYPE¡¢¼Ç¼ÀàÐͺͶÔÏóÀàÐ͵ķµ»ØÖµ£¬×ª»»³ÉÁªºÏÊý×éµÄ½á¹¹Ìå¡£
ÁªºÏÊý×éÊÇʹÓÃFORALLÓï¾ä»òBULK COLLECT×Ó¾äµÄ¹Ø¼ü£¬¶øºóÕßÔòÔÊÐíÊý¾Ý¿âµ½³ÌÐòÉè¼Æµ¥ÔªµÄÅúת»»¡£
ÔÚʹÓÃÁËÈ«Çò»¯ÉèÖã¬ÀýÈçNLS_COMP»òNLS_SORT³õʼ»¯²ÎÊýµÄÊý¾Ý¿âÖУ¬½«×Ö·û´®ÓÃ×÷ÁªºÏÊý×éË÷ÒýµÄʱºò£¬ÐèÒªÎÒÃǽøÐÐÌØÊâµÄ´¦Àí¡£
1¡¢¶¨ÒåÁªºÏÊý×éºÍÓÃ×÷PL/SQLµÄ³ÌÐò½á¹¹Ìå
ÔÚPL/SQLÓïÑÔÖж¨ÒåÁªºÏÊý×éµÄÓ ......
ORACLE 10GµÄ¼¯ºÏAPI
¼¯ºÏAPI·½·¨×îÔçÊÇÔÚORACLE 8IÖÐÒýÈëµÄ¡£¼¯ºÏAPIÌṩÁ˼ò»¯·ÃÎʼ¯ºÏµÄ·½·¨¡£ÔÚORACLE 10GÒÔǰ£¬ÕâЩ·½·¨È·Êµ¼ò»¯Á˶Լ¯ºÏµÄ·ÃÎÊ¡£µ«ÊÇ£¬²¢²»ÊÇ·ÇÒªÇóÕÆÎÕÕâЩ·½·¨²»¿É¡£´ÓORACLE 9IµÄINDEX-BY±íµ½ORACLE 10GµÄÁªºÏÊý×éµÄת»»£¬Ê¹ËüÃdzÉΪ±ØÐëÕÆÎյķ½·¨¡£
ÏÂÃæÊÇÎÒ´ÓÊéÉÏժ¼ÏµÄһЩ¼¯ºÏAPI£¬ÀÛËÀÎÒÁË……ÏëÉÏÍøÕÒ¸öͼ»¹Ã»ÓС£
·½·¨Ãû³Æ
˵Ã÷
·µ»ØÖµµÄÀàÐÍ
ËùÖ§³Ö¼¯ºÏµÄÀàÐÍ
COUNT
COUNT·½·¨·µ»ØµÄÊÇVARRAYºÍǶÌ×±íÖÐÒѾ·ÖÅäÁË´æ´¢¿Õ¼äµÄÔªËØµÄÊýÄ¿¡£ÔÚÁªºÏÊý×éÉÏʹÓÃÕâ¸ö·½·¨Ê±£¬Ëü·µ»ØÁªºÏÊý×éÖÐÔªËØµÄÊýÄ¿¡£COUNT·½·¨¿ÉÄÜ»á±ÈVARRAYµÄLIMIT·½·¨ÒªÐ¡¡£
PLS_INTEGER
ËùÓм¯ºÏÀàÐÍ
DELETE(n)
DELETE·½·¨´øÓÐÒ»¸öÖØÔØµÄÐÎʽ²ÎÊý£¬ÐÎʽ²ÎÊýµÄÀàÐÍΪPLS_INTEGER¡¢VARCHAR2»òLONGÀàÐÍ¡£Õâ¸öÐÎʽ²ÎÊý¶ÔÓ¦µÄÊǼ¯ºÏÖÐÔªËØµÄϱꡣËüÊÇÒ»¸ö¹ý³Ì£¬Ã»Óзµ»ØÖµ¡£
ÎÞ·µ»ØÖµ
ËùÓм¯ºÏÀàÐÍ
DELETE(n,m)
DELETE·½·¨´øÓÐÒ»¸öÖØÔØµÄÐÎʽ²ÎÊý£¬ÐÎʽ²ÎÊýµÄÀàÐÍΪPLS_INTEGER¡¢VARCHAR2»òLONGÀàÐÍ¡£ÕâÁ½¸öÐÎʽ²ÎÊý·Ö±ð¶ÔÓ¦µÄÊÇ×îСºÍ×î´óϱꡣÕâÁ½¸ö²ÎÊýÉ趨Á˼¯ºÏÖÐÔªËØµÄ°üº¬·¶Î§¡£ËüÊÇÒ»¸ö¹ý³Ì£¬Ã»Óзµ»ØÖµ¡£
ÎÞ·µ»ØÖµ
Ë ......
ORACLE 10GµÄ¼¯ºÏAPI
¼¯ºÏAPI·½·¨×îÔçÊÇÔÚORACLE 8IÖÐÒýÈëµÄ¡£¼¯ºÏAPIÌṩÁ˼ò»¯·ÃÎʼ¯ºÏµÄ·½·¨¡£ÔÚORACLE 10GÒÔǰ£¬ÕâЩ·½·¨È·Êµ¼ò»¯Á˶Լ¯ºÏµÄ·ÃÎÊ¡£µ«ÊÇ£¬²¢²»ÊÇ·ÇÒªÇóÕÆÎÕÕâЩ·½·¨²»¿É¡£´ÓORACLE 9IµÄINDEX-BY±íµ½ORACLE 10GµÄÁªºÏÊý×éµÄת»»£¬Ê¹ËüÃdzÉΪ±ØÐëÕÆÎյķ½·¨¡£
ÏÂÃæÊÇÎÒ´ÓÊéÉÏժ¼ÏµÄһЩ¼¯ºÏAPI£¬ÀÛËÀÎÒÁË……ÏëÉÏÍøÕÒ¸öͼ»¹Ã»ÓС£
·½·¨Ãû³Æ
˵Ã÷
·µ»ØÖµµÄÀàÐÍ
ËùÖ§³Ö¼¯ºÏµÄÀàÐÍ
COUNT
COUNT·½·¨·µ»ØµÄÊÇVARRAYºÍǶÌ×±íÖÐÒѾ·ÖÅäÁË´æ´¢¿Õ¼äµÄÔªËØµÄÊýÄ¿¡£ÔÚÁªºÏÊý×éÉÏʹÓÃÕâ¸ö·½·¨Ê±£¬Ëü·µ»ØÁªºÏÊý×éÖÐÔªËØµÄÊýÄ¿¡£COUNT·½·¨¿ÉÄÜ»á±ÈVARRAYµÄLIMIT·½·¨ÒªÐ¡¡£
PLS_INTEGER
ËùÓм¯ºÏÀàÐÍ
DELETE(n)
DELETE·½·¨´øÓÐÒ»¸öÖØÔØµÄÐÎʽ²ÎÊý£¬ÐÎʽ²ÎÊýµÄÀàÐÍΪPLS_INTEGER¡¢VARCHAR2»òLONGÀàÐÍ¡£Õâ¸öÐÎʽ²ÎÊý¶ÔÓ¦µÄÊǼ¯ºÏÖÐÔªËØµÄϱꡣËüÊÇÒ»¸ö¹ý³Ì£¬Ã»Óзµ»ØÖµ¡£
ÎÞ·µ»ØÖµ
ËùÓм¯ºÏÀàÐÍ
DELETE(n,m)
DELETE·½·¨´øÓÐÒ»¸öÖØÔØµÄÐÎʽ²ÎÊý£¬ÐÎʽ²ÎÊýµÄÀàÐÍΪPLS_INTEGER¡¢VARCHAR2»òLONGÀàÐÍ¡£ÕâÁ½¸öÐÎʽ²ÎÊý·Ö±ð¶ÔÓ¦µÄÊÇ×îСºÍ×î´óϱꡣÕâÁ½¸ö²ÎÊýÉ趨Á˼¯ºÏÖÐÔªËØµÄ°üº¬·¶Î§¡£ËüÊÇÒ»¸ö¹ý³Ì£¬Ã»Óзµ»ØÖµ¡£
ÎÞ·µ»ØÖµ
Ë ......
SQLÓï¾äÏÈǰдµÄʱºò£¬ºÜÈÝÒ×°ÑÒ»Ð©ÌØÊâµÄÓ÷¨Íü¼Ç£¬ÎÒÌØ´ËÕûÀíÁËÒ»ÏÂSQLÓï¾ä²Ù×÷£¬·½±ã×Ô¼ºÐ´SQLʱ·½±ãÒ»µã£¬ÏëÌùÉÏÀ´£¬Ò»Æð¿´¿´£¬Í¬Ê±Ï£Íû´ó¼ÒÄܹ²Í¬¶à¶àÌáÒâ¼û£¬Ò²¸øÎÒÁôһЩ¸üºÃµÄ¼Ñ¾ä£¬ÕûÀíÒ»·Ý¡¶¾«ÃîSQLËÙ²éÊֲᡷ£¬²»Áߴͽ̣¡
Ò»¡¢»ù´¡
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database dbname
3¡¢ËµÃ÷£º±¸·Ýsql server
--- ´´½¨ ±¸·ÝÊý¾ÝµÄ device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- ¿ªÊ¼ ±¸·Ý
BACKUP DATABASE pubs TO testBack
4¡¢ËµÃ÷£º´´½¨Ð±í
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
¸ù¾ÝÒÑÓÐµÄ±í´´½¨ÐÂ±í£º
A£ºcreate table tab_new like tab_old (ʹÓÃ¾É±í´´½¨Ð±í)
B£ºcreate table tab_new as select col1,col2… from tab_old definition only
5¡¢ËµÃ÷£ºÉ¾³ýбí
drop table tabname
6¡¢ËµÃ÷£ºÔö¼ÓÒ»¸öÁÐ
Alter table tabname add column col type
×¢£ºÁÐÔö¼Óºó½«²»ÄÜɾ³ý¡£DB2ÖÐÁмÓÉϺóÊý¾ÝÀàÐÍÒ²²»Äܸı䣬ΨһÄܸıäµÄÊÇÔö¼ÓvarcharÀàÐ͵ij¤¶È¡£
7¡¢Ë ......
window.onerror = function() { return true; };
body {margin:0;overflow:auto;font:normal 14px Verdana;background:#fff;padding:2px 4px 0;}body, p, font, div, li { line-height: 150%;}body, td, th {color:#000000;}.i {width:100%;*width:auto;table-layout:fixed;}pre {white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap;word-wrap: break-word;}a { color: -moz-hyperlinktext !important;text-decoration: -moz-anchor-decoration;}
²Ù×÷SQL Server MobileÊý¾Ý¿âµÄ³£ÓÃC#´úÂë
1. ´´½¨Êý¾Ý¿â
// ´´½¨Êý¾Ý¿â
File.Delete("Test.sdf");
SqlCeEngine engine =
new SqlCeEngine(
"Data
Source='Test.sdf';LCID=1033;Password=\"s$;2'!dS64\";Encrypt=TRUE;");
engine.CreateDatabase();
2. ÑéÖ¤ºÍÐÞ¸´Êý¾Ý¿â
// ÑéÖ¤ºÍÐÞ¸´Êý¾Ý¿â
SqlCeEngine engine = new SqlCeEngine("Data
Source=AdventureWorks.sdf");
if (false == engine.Verify())
{
MessageBox.Show("Database is corrupted.");
&nb ......
window.onerror = function() { return true; };
body {margin:0;overflow:auto;font:normal 14px Verdana;background:#fff;padding:2px 4px 0;}body, p, font, div, li { line-height: 150%;}body, td, th {color:#000000;}.i {width:100%;*width:auto;table-layout:fixed;}pre {white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap;word-wrap: break-word;}a { color: -moz-hyperlinktext !important;text-decoration: -moz-anchor-decoration;}
²Ù×÷SQL Server MobileÊý¾Ý¿âµÄ³£ÓÃC#´úÂë
1. ´´½¨Êý¾Ý¿â
// ´´½¨Êý¾Ý¿â
File.Delete("Test.sdf");
SqlCeEngine engine =
new SqlCeEngine(
"Data
Source='Test.sdf';LCID=1033;Password=\"s$;2'!dS64\";Encrypt=TRUE;");
engine.CreateDatabase();
2. ÑéÖ¤ºÍÐÞ¸´Êý¾Ý¿â
// ÑéÖ¤ºÍÐÞ¸´Êý¾Ý¿â
SqlCeEngine engine = new SqlCeEngine("Data
Source=AdventureWorks.sdf");
if (false == engine.Verify())
{
MessageBox.Show("Database is corrupted.");
&nb ......