http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx
1-9 parts are the most useful knowledge for you so far. ......
´¥·¢Æ÷
¶¨Ò壺 ºÎΪ´¥·¢Æ÷£¿ÔÚSQL ServerÀïÃæÒ²¾ÍÊǶÔijһ¸ö±íµÄÒ»¶¨µÄ²Ù×÷£¬´¥·¢Ä³ÖÖÌõ¼þ£¬´Ó¶øÖ´ÐеÄÒ»¶Î³ÌÐò¡£´¥·¢Æ÷ÊÇÒ»¸öÌØÊâµÄ´æ´¢¹ý³Ì¡£
³£¼ûµÄ´¥·¢Æ÷ÓÐÈýÖÖ£º·Ö±ðÓ¦ÓÃÓÚInsert , Update , Delete ʼþ¡£(SQL Server 2000¶¨ÒåÁËеĴ¥·¢Æ÷£¬ÕâÀï²»Ìᣩ
ÎÒΪʲôҪʹÓô¥·¢Æ÷£¿±ÈÈ磬ÕâôÁ½¸ö±í£º
Create Table Student( --ѧÉú±í
StudentID int primary key, --ѧºÅ
....
)
Create Table BorrowRecord( --ѧÉú½èÊé¼Ç¼±í
Borr ......
Student(S#,Sname,Sage,Ssex) ѧÉú±í
Course(C#,Cname,T#) ¿Î³Ì±í
SC(S#,C#,score) ³É¼¨±í
Teacher(T#,Tname) ½Ìʦ±í
ÎÊÌ⣺
1¡¢²éѯ“001”¿Î³Ì±È“002”¿Î³Ì³É¼¨¸ßµÄËùÓÐѧÉúµÄѧºÅ£»
select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
from SC where C#='002') b
where a.score>b.score and a.s#=b.s#;
2¡¢²éѯƽ¾ù³É¼¨´óÓÚ60·ÖµÄͬѧµÄѧºÅºÍƽ¾ù³É¼¨£»
select S#,avg(score)
from sc
group by S# having avg(score) >60;
3¡¢²éѯËùÓÐͬѧµÄѧºÅ¡¢ÐÕÃû¡¢Ñ¡¿ÎÊý¡¢×ܳɼ¨£»
select Student.S#,Student.Sname,count(SC.C#),sum(score)
from Student left Outer join SC on Student.S#=SC.S#
group by Student.S#,Sname
4¡¢²éѯÐÕ“ÀÄÀÏʦµÄ¸öÊý£»
select count(distinct(Tname))
from Teacher
where Tname like 'Àî%';
5¡¢²éѯûѧ¹ý“Ҷƽ”ÀÏʦ¿ÎµÄͬѧµÄѧºÅ¡¢ÐÕÃû£»
select Student.S#,Stu ......
1. /*+ALL_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='CCBZZP';
2. /*+FIRST_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÏìӦʱ¼ä,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='CCBZZP';
3. /*+CHOOSE*/
±íÃ÷Èç¹ûÊý¾Ý×ÖµäÖÐÓзÃÎʱíµÄͳ¼ÆÐÅÏ¢,½«»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑµÄÍÌÍÂÁ¿;
±íÃ÷Èç¹ûÊý¾Ý×ÖµäÖÐûÓзÃÎʱíµÄͳ¼ÆÐÅÏ¢,½«»ùÓÚ¹æÔò¿ªÏúµÄÓÅ»¯·½·¨;
ÀýÈç:
SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='CCBZZP';
4. /*+RULE*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¹æÔòµÄÓÅ»¯·½·¨.
ÀýÈç:
SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='CCBZZP';
5. /*+FULL(TABLE)*/
±íÃ÷¶Ô±íÑ¡ÔñÈ«¾ÖɨÃèµÄ·½· ......
Oracle
SQL
Loader
µÄÏêϸÓï·¨
Oracle
SQL
Loader
µÄÏêϸÓï·¨
SQL
*LOADER
ÊÇ
ORACLE
µÄÊý¾Ý¼ÓÔØ¹¤¾ß£¬Í¨³£ÓÃÀ´½«²Ù×÷ϵͳÎļþÇ¨ÒÆµ½
ORACLE
Êý¾Ý¿âÖС£
SQL
*LOADER
ÊÇ´óÐÍÊý¾Ý
²Ö¿âÑ¡ÔñʹÓõļÓÔØ·½·¨£¬ÒòΪËüÌṩÁË×î¿ìËÙµÄ;¾¶£¨
DIRECT
£¬
PARALLEL
£©¡£ÏÖÔÚ£¬ÎÒÃÇÅ׿ªÆäÀíÂÛ²»Ì¸£¬ÓÃʵÀýÀ´Ê¹Äú¿ìËÙÕÆÎÕ
SQL
*LOADER
µÄʹÓ÷½·¨¡£
Ê×ÏÈ£¬ÎÒÃÇÈÏʶһÏÂ
SQL
*LOADER
¡£
ÔÚ
NT
Ï£¬
SQL
*LOADER
µÄÃüÁîΪ
SQLLDR
£¬ÔÚ
UNIX
ÏÂÒ»°ãΪ
sqlldr/sqlload
¡£
ÈçÖ´ÐУº
d:\oracle
>sqlldr
SQL
*Loader
: Release 8.1.6.0.0 - Production on
ÐÇÆÚ¶þ
1
ÔÂ
8 11:06:42 2002
(c) Copyright 1999 Oracle
Corporation.& ......
Oracle
SQL
Loader
µÄÏêϸÓï·¨
Oracle
SQL
Loader
µÄÏêϸÓï·¨
SQL
*LOADER
ÊÇ
ORACLE
µÄÊý¾Ý¼ÓÔØ¹¤¾ß£¬Í¨³£ÓÃÀ´½«²Ù×÷ϵͳÎļþÇ¨ÒÆµ½
ORACLE
Êý¾Ý¿âÖС£
SQL
*LOADER
ÊÇ´óÐÍÊý¾Ý
²Ö¿âÑ¡ÔñʹÓõļÓÔØ·½·¨£¬ÒòΪËüÌṩÁË×î¿ìËÙµÄ;¾¶£¨
DIRECT
£¬
PARALLEL
£©¡£ÏÖÔÚ£¬ÎÒÃÇÅ׿ªÆäÀíÂÛ²»Ì¸£¬ÓÃʵÀýÀ´Ê¹Äú¿ìËÙÕÆÎÕ
SQL
*LOADER
µÄʹÓ÷½·¨¡£
Ê×ÏÈ£¬ÎÒÃÇÈÏʶһÏÂ
SQL
*LOADER
¡£
ÔÚ
NT
Ï£¬
SQL
*LOADER
µÄÃüÁîΪ
SQLLDR
£¬ÔÚ
UNIX
ÏÂÒ»°ãΪ
sqlldr/sqlload
¡£
ÈçÖ´ÐУº
d:\oracle
>sqlldr
SQL
*Loader
: Release 8.1.6.0.0 - Production on
ÐÇÆÚ¶þ
1
ÔÂ
8 11:06:42 2002
(c) Copyright 1999 Oracle
Corporation.& ......
±í×¨Çø
--
¸´ÖÆ±í¼°Êý¾Ý£¨´Ó
userinfo
±í¸´ÖƵ½Ð±í
b
select
*
into
b
from
UserInfo
--
»ñÈ¡µ±Ç°Êý¾Ý¿âÖеÄËùÓÐÓû§±í
select * from sysobjects where xtype='U' and category=0
--
»ñȡijһ¸ö±íµÄËùÓÐ×Ö¶Î
select name from syscolumns where id=object_id('±íÃû')
Ô¼Êø×¨Çø
--
²éѯ±í
Ô¼Êø
exec
sp_helpconstraint
±íÃû
--
Ìí¼ÓÍâ¼üÔ¼Êø
alter
table
±íÃû
add
constraint
Íâ¼üÃû
foreign
key
(
ÒýÓÃÁÐÃû
)
references
±»ÒýÓñíÃû
(
ÁÐÃû
)
Ë÷Òý×¨Çø
----²éÕÒ±íÖеÄË÷Òý
select
*
from
sysindexes
where
id
=
object_id
(
'
±íÃû
'
)
exec
sp_helpindex
g_Account
-----
ÅжÏÊÇ·ñ´æÔÚË÷Òý
select
*
from
sysindexes
where
name
=
'Ë÷ÒýÃû
'
--´´½¨Ë÷Òý
CREATE UNIQU ......