Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQL²ÎÊý»¯ÅÅÐòÏê½â

±àдһ¸ö´¢´æ¹ý³Ìusp_GetSortedShippers£¬Ëü½ÓÊÕNorthwindÊý¾Ý¿âÖÐShippers±íµÄÒ»¸öÁÐÃû³Æ×÷ΪÆäÖÐÒ»¸öÊäÈ루@colname£©£¬²¢´Ó¸Ã±í·µ»Ø°´ÊäÈëµÄÁÐÃûÅÅÐòµÄÐС£ÁíÒ»¸öÊäÈ루@sortdir£©±íʾÅÅÐòµÄ·½Ïò,‘A’±íʾ°´Éý˳ÅÅÐò,‘D’±íʾ°´½µÐòÅÅÐò¡£±àд¸Ã´æ´¢¹ý³ÌʱҪעÒâËüµÄÐÔÄÜ£¬¼´£¬¾¡¿ÉÄܵÄʹÓÃË÷Òý£¨ÀýÈ磬ÅÅÐòÁÐÉϵľۼ¯»ò·Ç¾Û¼¯¸²¸ÇË÷Òý£©¡£
´úÂëÇåµ¥7-4ÊǸÃÈÎÎñ½¨ÒéµÄµÚÒ»¸ö½â¾ö·½°¸
´úÂëÇåµ¥7-4  ²ÎÊý»¯ÅÅÐò£¬½â¾ö·½°¸1
USE Northwind;
GO
IF OBJECT_ID('dbo.usp_GetSortedShippers') IS NOT NULL
  DROP PROC dbo.usp_GetSortedShippers;
GO
CREATE PROC dbo.usp_GetSortedShippers
  @colname AS sysname, @sortdir AS CHAR(1) = 'A'
AS
IF @sortdir = 'A'
  SELECT ShipperID, CompanyName, Phone
  from dbo.Shippers
  ORDER BY
    CASE @colname
      WHEN N'ShipperID'   THEN CAST(ShipperID AS SQL_VARIANT)
      WHEN N'CompanyName' THEN CAST(CompanyName AS SQL_VARIANT)
      WHEN N'Phone'       THEN CAST(Phone AS SQL_VARIANT)
    END
ELSE
  SELECT ShipperID, CompanyName, Phone
  from dbo.Shippers
  ORDER BY
    CASE @colname
      WHEN N'ShipperID'   THEN CAST(ShipperID AS SQL_VARIANT)
      WHEN N'CompanyName' THEN CAST(CompanyName AS SQL_VARIANT)
      WHEN N'Phone'       THEN CAST(Phone AS SQL_VARIANT)
    END DESC;
GO
¸Ã½â¾ö·½°¸Ê¹ÓÃIFÓï¾ä¸ù¾ÝÇëÇóµÄÅÅÐò·½ÏòÈ·¶¨ÒªÖ´ÐеIJéѯ¡£Á½¸ö²éѯµÄÎ¨Ò»Çø±ðÊÇËüÃǵÄÅÅÐò±í´ïʽ²»Í¬£¬Ò»¸öʹÓÃÉýÐò£¬Ò»¸öʹÓýµÐò¡£Á½¸ö²éѯ¶¼Ê¹ÓÃCASE±í
´ïʽ¸ù¾ÝÊäÈëµÄÁÐÃû·µ»ØºÏÊʵÄÁÐÖµ¡£
×¢Òâ    SQL Server¸ù¾Ý±í´ïʽµÄ½á¹ûÖÐÓÅÏȼ¶×î¸ßµÄÊý¾ÝÀàÐÍÈ·¶¨CASE±í´ïʽ½á¹ûµÄÊý¾ÝÀàÐÍ£¬¶ø²»Êǰ´Êµ¼Ê·µ»Ø½á¹ûµÄÊý¾ÝÀàÐÍÈ·¶¨¡£Õâ¾ÍÒâζ×Å£¬Èç¹ûCASE±í´ïʽµÄÒ»¸öTHEN×Ӿ䷵»ØVARCHAR(30)Öµ£¬¶øÁíÒ»¸ö·µ»ØINTÖµ£¬±í´ïʽµÄ½á¹û½«×ÜÊÇINT£¬


Ïà¹ØÎĵµ£º

SQL select

--desc ±íÃû ÃèÊö±íµÄÄÚÈÝ  
desc emp;
--¼ÓÉÏÊýѧ±í´ïʽºÍÁÐÃû  ""±£³Ö¸ñʽ
select ename "name space", sal*12 year_sal from emp;   
select 2*3 from dual;
select sysdate from dual;
--¿ÕÖµµÄÊýѧ±í´ïʽ ½á¹û¶¼ÊÇ¿ÕÖµ
select ename, sal*12 + comm from emp;  
- ......

sqlÓï¾ä»ù´¡

--sql structured query language
--DML--Data Manipulation Language--Êý¾Ý²Ù×÷ÓïÑÔ
query information (SELECT),
add new rows (INSERT),
modify existing rows (UPDATE),
delete existing rows (DELETE),
perform a conditional update or insert operation (MERGE),
see an execution plan of SQL (EXPLA ......

SQL SERVER ·ÖÒ³´æ´¢¹ý³Ì

´æ´¢¹ý³Ì´úÂ룺
 --drop procedure p_page
--go
create procedure p_page
(
@Tables varchar(1000), --±íÃûÈçtesttable
@PrimaryKey varchar(100),--±íµÄÖ÷¼ü,±ØÐëΨһÐÔ
@Sort varchar(200) = NULL,--ÅÅÐò×Ö¶ÎÈçf_Name asc»òf_name desc(×¢ÒâÖ»ÄÜÓÐÒ»¸öÅÅÐò×Ö¶Î)
@CurrentPage int = 1,--µ± ......

SQL ×¢Èë¶¶´Ïà¹ØÖªÊ¶ÕûÀí

 ÉÏÉϸöÐÇÆÚ£¬ÓÐÈË·´À¡£¬CSDNÓÐSQL×¢Èë¶¶´£¬º¹ÑÕ£¬¼¸ÄêǰΪSQL×¢Èë¶¶´£¬²¿ÃÅרÃŶÔËùÓдúÂë×ö¹ýÒ»´Î·Ç³£´óµÄ¼ì²é£¬¾¹È»ÄǴμì²é»¹ÓÐÒÅ©µÄµØ·½¡£×î½üÕ⼸¸öÐÇÆÚ£¬¾ÍÊÇÒ»Ö±ÔÙ¶Ô´úÂë×öÔٴθ´²é£¬¿´ÓÐûÓÐSQL×¢Èë¶¶´¡£
        ´æÔÚSQL×¢Èë¶¶´£¬¾ÍÒòΪÄãµÄSQLÓï¾äÊÇ×Ô¼ºÆ´´ ......

SQL ¶¯Ì¬ÅÅÐòµÄ·½·¨

ÔÚ¹«¹²ÐÂÎÅ×éÖУ¬Ò»¸ö¾­³£³öÏÖµÄÎÊÌâÊÇ“ÔõÑù²ÅÄܸù¾Ý´«µÝ¸ø´æ´¢¹ý³ÌµÄ²ÎÊý·µ»ØÒ»¸öÅÅÐòµÄÊä³ö£¿”¡£ÔÚһЩ¸ßˮƽר¼ÒµÄ°ïÖú֮ϣ¬ÎÒÕûÀí³öÁËÕâ¸öÎÊÌâµÄ¼¸ÖÖ½â¾ö·½°¸¡£
Ò»¡¢ÓÃIF...ELSEÖ´ÐÐÔ¤ÏȱàдºÃµÄ²éѯ
¡¡¡¡¶ÔÓÚ´ó¶àÊýÈËÀ´Ëµ£¬Ê×ÏÈÏëµ½µÄ×ö·¨Ò²ÐíÊÇ£ºÍ¨¹ýIF...ELSEÓï¾ä£¬Ö´Ðм¸¸öÔ¤ÏȱàдºÃµÄ²éѯÖеÄÒ» ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ