ÔÚSQLSERVER£¬¼òµ¥µÄ×éºÏsp_spaceusedºÍsp_MSforeachtableÕâÁ½¸ö´æ´¢¹ý³Ì£¬¿ÉÒÔ·½±ãµÄͳ¼Æ³öÓû§Êý¾Ý±íµÄ´óС£¬°üÀ¨¼Ç¼×ÜÊýºÍ¿Õ¼äÕ¼ÓÃÇé¿ö£¬·Ç³£ÊµÓã¬ÔÚSqlServer2KºÍSqlServer2005Öж¼²âÊÔͨ¹ý¡£
/*
1. exec sp_spaceused '±íÃû' £¨SQLͳ¼ÆÊý¾Ý£¬´óÁ¿ÊÂÎñ²Ù×÷ºó¿ÉÄܲ»×¼£©
2. exec sp_spaceused '±íÃû', true (¸üбíµÄ¿Õ¼ä´óС£¬×¼È·µÄ±í¿Õ´óС£¬µ«¿ÉÄܻỨЩͳ¼ÆÊ±¼ä£©
3. exec sp_spaceused (Êý¾Ý¿â´óС²éѯ£©
4. exec sp_MSforeachtable "exec sp_spaceused '?'" (ËùÓÐÓû§±í¿Õ¼ä±íС£¬SQLͳ¼ÆÊý¾Ý£¬£¬´óÁ¿ÊÂÎñ²Ù×÷ºó¿ÉÄܲ»×¼£©
5. exec sp_MSforeachtable "exec sp_spaceused '?',true" (ËùÓÐÓû§±í¿Õ¼ä±íС£¬´óÊý¾Ý¿âÉ÷Óã©
*/
create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20), index_size varchar(20), unused varchar(20))
exec sp_MSforeachtable "insert into #t exec sp_spaceused '?'"
......
ÕÆÎÕSQLËÄÌõ×î»ù±¾µÄÊý¾Ý²Ù×÷Óï¾ä£ºInsert£¬Select£¬UpdateºÍDelete¡£
¡¡¡¡ Á·ÕÆÎÕSQLÊÇÊý¾Ý¿âÓû§µÄ±¦¹ó²Æ ¸»¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«Òýµ¼ÄãÕÆÎÕËÄÌõ×î»ù±¾µÄÊý¾Ý²Ù×÷Óï¾ä—SQLµÄºËÐŦÄÜ—À´ÒÀ´Î½éÉܱȽϲÙ×÷·û¡¢Ñ¡Ôñ¶ÏÑÔÒÔ¼°ÈýÖµÂß¼¡£µ±ÄãÍê³ÉÕâЩѧϰºó£¬ÏÔÈ»ÄãÒѾ¿ªÊ¼ËãÊǾ«Í¨SQLÁË¡£
¡¡¡¡ÔÚÎÒÃÇ¿ªÊ¼Ö®Ç°£¬ÏÈʹÓÃCREATE TABLEÓï¾äÀ´´´½¨Ò»¸ö±í£¨Èçͼ1Ëùʾ£©¡£DDLÓï¾ä¶ÔÊý¾Ý¿â¶ÔÏóÈç±í¡¢ÁкÍÊÓ½øÐж¨Òå¡£ËüÃDz¢²»¶Ô±íÖеÄÐнøÐд¦Àí£¬ÕâÊÇÒòΪDDLÓï¾ä²¢²»´¦ÀíÊý¾Ý¿âÖÐʵ¼ÊµÄÊý¾Ý¡£ÕâЩ¹¤×÷ÓÉÁíÒ»ÀàSQLÓï¾ä—Êý¾Ý²Ù×÷ÓïÑÔ£¨DML£©Óï¾ä½øÐд¦Àí¡£
¡¡¡¡SQLÖÐÓÐËÄÖÖ»ù±¾µÄDML²Ù×÷£ºINSERT£¬SELECT£¬UPDATEºÍDELETE¡£ÓÉÓÚÕâÊÇ´ó¶àÊýSQLÓû§¾³£Óõ½µÄ£¬ÎÒÃÇÓбØÒªÔڴ˶ÔËüÃǽøÐÐһһ˵Ã÷¡£ÔÚͼ1ÖÐÎÒÃǸø³öÁËÒ»¸öÃûΪEMPLOYEESµÄ±í¡£ÆäÖеÄÿһÐжÔÓ¦Ò»¸öÌØ¶¨µÄ¹ÍÔ±¼Ç¼¡£ÇëÊìϤÕâÕÅ±í£¬ÎÒÃÇÔÚºóÃæµÄÀý×ÓÖн«ÒªÓõ½Ëü¡£
¡¡¡¡INSERTÓï¾ä
¡¡¡¡Óû§¿ÉÒÔÓÃINSERTÓï¾ä½«Ò»ÐмǼ²åÈëµ½Ö¸¶¨µÄÒ»¸ö±íÖС£ÀýÈ磬Ҫ½«¹ÍÔ±John SmithµÄ¼Ç¼²åÈëµ½±¾ÀýµÄ±íÖУ¬¿ÉÒÔʹÓÃÈçÏÂÓï¾ä£º
¡¡¡¡INSERT INTO EMPLOYEES VALUES
¡¡¡¡ ('Smith','John','1980-06-10',
¡¡¡¡ 'Los Angle ......
Ò»¡¢¼òµ¥²éѯ
¡¡¡¡ ¼òµ¥µÄTransact-SQL²éѯֻ°üÀ¨Ñ¡ÔñÁÐ±í¡¢from×Ó¾äºÍWHERE×Ӿ䡣
ËüÃÇ·Ö±ð˵Ã÷Ëù²éѯÁС¢²éѯµÄ
±í»òÊÓͼ¡¢ÒÔ¼°ËÑË÷Ìõ¼þµÈ¡£
ÀýÈ磬ÏÂÃæµÄÓï¾ä²éѯtesttable±íÖÐÐÕÃûΪ“ÕÅÈý”µÄnickname×ֶκÍemail×ֶΡ£
SELECT nickname,email
from testtable WHERE name='ÕÅÈý'
(Ò»)Ñ¡ÔñÁбí
¡¡¡¡Ñ¡ÔñÁбí(select_list)Ö¸³öËù²éѯÁУ¬Ëü¿ÉÒÔÊÇÒ»×éÁÐÃûÁÐ±í¡¢ÐǺš¢±í´ïʽ¡¢±äÁ¿(°üÀ¨¾Ö²¿±ä Á¿ºÍÈ«¾Ö±äÁ¿)µÈ¹¹³É¡£
¡¡¡¡ 1¡¢Ñ¡ÔñËùÓÐÁÐ ÀýÈ磬ÏÂÃæÓï¾äÏÔʾtesttable±íÖÐËùÓÐÁеÄÊý¾Ý£º SELECT * from testtable
¡¡¡¡ 2¡¢Ñ¡Ôñ²¿·ÖÁв¢Ö¸¶¨ËüÃǵÄÏÔʾ´ÎÐò ²éѯ½á¹û¼¯ºÏÖÐÊý¾ÝµÄÅÅÁÐ˳ÐòÓëÑ¡ÔñÁбíÖÐËùÖ¸¶¨µÄÁÐÃûÅÅÁÐ˳ÐòÏàͬ¡£
ÀýÈ磺 SELECT nickname,email from testtable
¡¡¡¡ 3¡¢¸ü¸ÄÁбêÌâ ÔÚÑ¡ÔñÁбíÖУ¬¿ÉÖØÐÂÖ¸¶¨ÁбêÌâ¡£¶¨Òå¸ñʽΪ£º ÁбêÌâ=ÁÐÃû ÁÐÃû ÁбêÌâ Èç¹ûÖ¸¶¨µÄÁбêÌâ²»ÊDZê×¼µÄ±êʶ·û¸ñʽʱ£¬Ó¦Ê¹ÓÃÒýºÅ¶¨½ç·û¡£
ÀýÈ磬ÏÂÁÐÓï¾äʹÓúº×ÖÏÔʾÁÐ ±êÌ⣺ SELECT êdzÆ=nickname,µç×ÓÓʼþ=email from testtable
¡¡¡¡ 4¡¢É¾³ýÖØ¸´ÐÐ SELECTÓï¾äÖÐʹÓÃALL»òDISTINCTÑ¡ÏîÀ´ÏÔʾ±íÖзûºÏÌõ¼þµÄËùÓÐÐлòɾ³ýÆäÖÐÖØ¸´µÄÊý¾ÝÐУ¬Ä¬ÈÏ ......
ÔÚ·Ö×éÅÅÐò¹ý³ÌÖÐÐèҪн¨ÅÅÐòÁУ¬°´Ìõ¼þ:(ÎïÁÏ·ÖÀà+¿Í»§Ãû³Æ) ½øÐзÖ×é»ã×Ü È»ºó¾Í¸ù¾Ý¸ÃÌõ¼þ½øÐÐÅÅÐò
1.ÐèҪƴ´ÕÁ½ÁÐ ×÷ΪÅÅÐòÁÐ,ÈçÐè¼ÓÈëÌØÊâ×Ö·û.¾Í»á±¨´í.
ÒòΪ±¾Éí¸Ä×ֶξÍÊÇvarcharÀàÐÍ ÐèÒª½«charÀàÐÍ'_' ת»»³Évarchar
2.Æ´´Õ¹ý³ÌÖÐÓпոñÐèҪȥ¿Õ¸ñ
e.g£ºselect (trim(ÎïÁÏ·ÖÀà)+to_char('_')+¿Í»§Ãû³Æ) from tableName ......
QZone Editor
.dump{}
//TODO ÓòÃû
if (location.hash) {
document.domain=location.hash.substr(1);
}
//parent.qZEditor.callback();
function init(){
//»ñÈ¡±à¼Æ÷Ãæ°åID
var pid = frameElement.panelID;
//»ñÈ¡±à¼Æ÷Ãæ°å¶ÔÏó
var panel = parent.QZFL.editor.editPanel.get(pid);
panel["html"]._enableEditMode();
}
¡¡¡¡ÔÚsql2005ÖУ¬´æ´¢¹ý³Ì¹¦Äܷdz£Ç¿´ó£¬ÈçºÎÔÚC#Öе÷ÓÃÄØ£¬ÏÂÃæ¾ÍÒÔʾÀý˵Ã÷£º
¡¡¡¡Ê×ÏÈÔÚÊý¾Ý¿âÖд´½¨´æ´¢¹ý³ÌXSPTest
¡¡¡¡CREATE PROCEDURE dbo.XSPTest
¡¡¡¡¡¡¡¡@In As nvarchar(16),
¡¡¡¡¡¡¡¡@Out As int OUTPUT
¡¡¡¡As
¡¡¡¡¡¡¡¡-- deal with @In
¡¡¡¡¡¡¡¡Set @Out = 1;
¡¡¡¡¡¡¡¡Select 2 As SValue;
¡¡¡¡¡¡¡¡RETURN 0;
¡¡¡¡ÉÏÃæµÄ´æ´¢¹ý³ÌÐèÒªÒ»¸öÊäÈë²ÎÊý£¬Ò»¸öÊä³ö²ÎÊý£¬·µ»ØÒ»¸öÖµ£¬²¢ÇÒselectÒ»¸ö¡£ÏÂÃæ¾Í·Ö±ð˵Ã÷һϣº
¡¡¡¡ SqlCommand cmdCommit = new
SqlCommand("XSPTest", myConnect)
c ......
QZone Editor
.dump{}
//TODO ÓòÃû
if (location.hash) {
document.domain=location.hash.substr(1);
}
//parent.qZEditor.callback();
function init(){
//»ñÈ¡±à¼Æ÷Ãæ°åID
var pid = frameElement.panelID;
//»ñÈ¡±à¼Æ÷Ãæ°å¶ÔÏó
var panel = parent.QZFL.editor.editPanel.get(pid);
panel["html"]._enableEditMode();
}
¡¡¡¡ÔÚsql2005ÖУ¬´æ´¢¹ý³Ì¹¦Äܷdz£Ç¿´ó£¬ÈçºÎÔÚC#Öе÷ÓÃÄØ£¬ÏÂÃæ¾ÍÒÔʾÀý˵Ã÷£º
¡¡¡¡Ê×ÏÈÔÚÊý¾Ý¿âÖд´½¨´æ´¢¹ý³ÌXSPTest
¡¡¡¡CREATE PROCEDURE dbo.XSPTest
¡¡¡¡¡¡¡¡@In As nvarchar(16),
¡¡¡¡¡¡¡¡@Out As int OUTPUT
¡¡¡¡As
¡¡¡¡¡¡¡¡-- deal with @In
¡¡¡¡¡¡¡¡Set @Out = 1;
¡¡¡¡¡¡¡¡Select 2 As SValue;
¡¡¡¡¡¡¡¡RETURN 0;
¡¡¡¡ÉÏÃæµÄ´æ´¢¹ý³ÌÐèÒªÒ»¸öÊäÈë²ÎÊý£¬Ò»¸öÊä³ö²ÎÊý£¬·µ»ØÒ»¸öÖµ£¬²¢ÇÒselectÒ»¸ö¡£ÏÂÃæ¾Í·Ö±ð˵Ã÷һϣº
¡¡¡¡ SqlCommand cmdCommit = new
SqlCommand("XSPTest", myConnect)
c ......
BEGIN TRANSACTION--¿ªÊ¼ÊÂÎñ
DECLARE @errorSun INT --¶¨Òå´íÎó¼ÆÊýÆ÷
SET @errorSun=0 --û´íΪ0
UPDATE a SET id=232 WHERE a=1 --ÊÂÎñ²Ù×÷SQLÓï¾ä
SET @errorSun=@errorSun+@@ERROR --ÀÛ¼ÆÊÇ·ñÓдí
UPDATE aa SET id=2 WHERE a=1 --ÊÂÎñ²Ù×÷SQLÓï¾ä
SET @errorSun=@errorSun+@@ERROR --ÀÛ¼ÆÊÇ·ñÓдí
IF @errorSun<>0
BEGIN
PRINT 'ÓдíÎ󣬻عö'
ROLLBACK TRANSACTION--ÊÂÎñ»Ø¹öÓï¾ä
END
ELSE
BEGIN
PRINT '³É¹¦£¬Ìá½»'
COMMIT TRANSACTION--ÊÂÎñÌá½»Óï¾ä
END
1.ʲôÊÇÊÂÎñ£ºÊÂÎñÊÇÒ»¸ö²»¿É·Ö¸îµÄ¹¤×÷Âß¼µ¥Ôª£¬ÔÚÊý¾Ý¿âϵͳÉÏÖ´Ðв¢·¢²Ù×÷ʱÊÂÎñÊÇ×öΪ×îСµÄ¿ØÖƵ¥ÔªÀ´Ê¹Óõġ£Ëû°üº¬µÄËùÓÐÊý¾Ý¿â²Ù×÷ÃüÁî×÷Ϊһ¸öÕûÌåÒ»ÆðÏòϵÌá½»»ò³·Ïû£¬ÕâÒ»×éÊý¾Ý¿â²Ù×÷ÃüÁîҪô¶¼Ö´ÐУ¬ÒªÃ´¶¼²»Ö´ÐС£
2.ÊÂÎñµÄÓï¾ä
¡¡¿ªÊ¼ÊÂÎBEGIN TRANSACTION
¡¡Ìá½»ÊÂÎCOMMIT TRANSACTION
¡¡»Ø¹öÊÂÎñ£ºROLLBACK TRANSACTION
3.ÊÂÎñµÄ4¸öÊôÐÔ
¢ÙÔ×ÓÐÔ(Atomicity)£ºÊÂÎñÖеÄËùÓÐÔªËØ×÷Ϊһ¸öÕûÌåÌá½»»ò»Ø¹ö£¬ÊÂÎñµÄ¸öÔªËØÊDz»¿É·ÖµÄ£¬ÊÂÎñÊÇÒ»¸öÍêÕû²Ù×÷¡£
¢ÚÒ»ÖÂÐÔ(Consistemcy)£ºÊÂÎïÍê³Éʱ£¬Êý¾Ý±ØÐëÊÇÒ»Ö ......