SQL 2000Óû§×Ô¶¨Ò庯Êý
Ò»¡£SQL Server µÄÈýÖÖ×Ô¶¨Ò庯Êý
“×Ô¶¨Ò庯Êý”ÊÇÎÒÃÇÆ½³£µÄ˵·¨£¬¶ø“Óû§¶¨ÒåµÄº¯Êý”ÊÇ SQL Server ÖÐÊéÃæµÄ˵·¨¡£
SQL Server 2000 ÔÊÐíÓû§´´½¨×Ô¶¨Ò庯Êý£¬×Ô¶¨Ò庯Êý¿ÉÒÔÓзµ»ØÖµ¡£
×Ô¶¨Ò庯Êý·ÖΪ£º±êÁ¿Öµº¯Êý»ò±íÖµº¯Êý
Èç¹û RETURNS ×Ó¾äÖ¸¶¨Ò»ÖÖ±êÁ¿Êý¾ÝÀàÐÍ£¬Ôòº¯ÊýΪ±êÁ¿Öµº¯Êý¡£¿ÉÒÔʹÓöàÌõ Transact-SQL Óï¾ä¶¨Òå±êÁ¿Öµº¯Êý¡£
Èç¹û RETURNS ×Ó¾äÖ¸¶¨ TABLE£¬Ôòº¯ÊýΪ±íÖµº¯Êý¡£
±íÖµº¯ÊýÓÖ¿É·ÖΪ£ºÄÚǶ±íÖµº¯Êý£¨ÐÐÄÚº¯Êý£©»ò¶àÓï¾äº¯Êý
Èç¹û RETURNS ×Ó¾äÖ¸¶¨µÄ TABLE ²»¸½´øÁеÄÁÐ±í£¬Ôò¸Ãº¯ÊýΪÄÚǶ±íÖµº¯Êý¡£
Èç¹û RETURNS ×Ó¾äÖ¸¶¨µÄ TABLE ÀàÐÍ´øÓÐÁм°ÆäÊý¾ÝÀàÐÍ£¬Ôò¸Ãº¯ÊýÊǶàÓï¾ä±íÖµº¯Êý¡£
±êÁ¿Öµº¯ÊýʾÀý
CREATE FUNCTION dbo.Foo()
RETURNS int
AS
BEGIN
declare @n int
select @n=3
return @n
END
create function GetSex(@sex int)
returns varchar(2)-- ÓÃnvarchar(1)
as -- nvarchar:²»¹ÜÊÇÒ»¸ö×Ö·û»¹ÊÇÒ»¸öºº×Ö,¶¼´æÎª2¸ö×Ö½Ú
begin -- varchar:ºº×ÖÊÇ2¸ö×Ö½Ú,ÆäËû×Ö·û´æÎª1¸ö×Ö½Ú
declare @ssex varchar(2)-- ÓÃnvarchar(1)
if(@sex=1)
set @ssex='ÄÐ'
else
set @ssex='Å®'
return (@ssex)
end
µ÷Óãº
select id,username,dbo.GetSex(Sex) as sex ,loginnum from t_user
ÄÚǶ±íÖµº¯ÊýʾÀý
CREATE FUNCTION dbo.Foo()
RETURNS TABLE
AS
return select id, title from msgs
ÄÚǶ±íÖµº¯ÊýÖ»ÓÐÒ»¸ö select Óï¾ä¡£
¶àÓï¾ä±íÖµº¯ÊýʾÀý£¨²¿·Ö£©
CREATE FUNCTION FindUsers (@userid int )
RETURNS @FindUser TABLE (id int primary key, UserName varchar(30), RegDateTime DateTime,LoginNum int)
as
begin
insert into @FindUser Select ID, UserName,RegDateTime,LoginNum from T_User Where ID=@userid
return
end
µ÷Óãº
SELECT * from FindUsers(6)
×¢ÒâÆä RETURNS ²¿·Ö¡£
¶àÓï¾äº¯ÊýµÄÖ÷ÌåÖÐÔÊÐíʹÓÃÒÔÏÂÓï¾ä¡£Î´ÔÚÏÂÃæµÄÁбíÖÐÁг
Ïà¹ØÎĵµ£º
SQL Server2008ÐÐÊý¾ÝºÍÒ³Êý¾ÝѹËõ½âÃÜ
Êý¾ÝѹËõÒâζ׿õСÊý¾ÝµÄÓдÅÅÌÕ¼ÓÃÁ¿£¬ËùÒÔÊý¾ÝѹËõ¿ÉÒÔÓÃÔÚ±í£¬¾Û¼¯Ë÷Òý£¬·Ç¾Û¼¯Ë÷Òý£¬ÊÓͼË÷Òý»òÊÇ·ÖÇø±í£¬·ÖÇøË÷ÒýÉÏ¡£2.ǰ±êѹËõ£ºÃ¿Ò»Ò³ÖеÄËùÓÐÁУ¬ÔÚÐбêÍ·ÏÂÃæ£¬Ã¿Ðж¼´æ´¢×ÅÒ»¸öÐж¨ÒåÖµ£¬Ñ¹Ëõºó£¬ËùÓÐÐе͍ÒåÖµ¶¼±»Ìæ»»³ÉÐÐÍ·ÖµµÄÒýÓá£
¡¡¡¡±¾ÎĽ«Îª´ó¼Ò½éÉÜ ......
ÔÚsqlserver2005ÖÐÓÃsqlÓï¾äд´úÂë,Éú³ÉÊý¾Ý±í
CREATE TABLE [t_ActivityRecord] (
[activityId] [nchar] (10) NOT NULL,
[activityName] [nvarchar] (50) NOT NULL,
[activityMark] [decimal] (18,3) NOT NULL,
[activityStatement] [ntext] NOT NULL,
[activityDateTime] [date] NOT ......
²¢¼¯:
ʹÓà UNION ÔËËã·û×éºÏ¶à¸ö½á¹û
SELECT name,num from Table1
UNION
SELECT name,num from Table2
×¢Ò⣺²éѯµÄ×ֶθöÊý±ØÐëÏàͬ£¬Table2µÄ×Ö¶ÎÀàÐÍÒª¸úTable1µÄÏàͬ.
Èç¹ûʹÓà UNION ÔËËã·û£¬ÄÇôµ¥¶ÀµÄ SELECT Óï¾ä²»Äܰüº¬Æä×Ô¼ºµÄ ORDER BY »ò COMPUTE ×Ӿ䡣ֻÄÜÔÚ×îºóÒ»¸ö SELECT Óï¾äµÄºóÃæÊ¹ÓÃÒ»¸ö ORD ......
Êý¾Ý¿â±íÉè¼ÆÊ±Èç¹ûÉèÖÿÉÒÔΪnull,ÔòËü¾Í²»»á±äΪ'1900-1-01'
Èç¹ûÉè¼ÆÊ±²»¿ÉÒÔΪnull,Ëü¾Í»áĬÈÏΪ: '1900-01-01'
CREATE proc UP_Rsk_AddModel @ygcode varchar(6), @name varchar(8), @xb varchar(2), @bm varchar(32), @jg varchar(16), @mz varchar(16) ......