簡單SQL´æ儲過³Ì實Àý
ʵÀý1£ºÖ»·µ»Øµ¥Ò»¼Ç¼¼¯µÄ´æ´¢¹ý³Ì¡£
ÒøÐдæ¿î±í£¨bankMoney£©µÄÄÚÈÝÈçÏÂ
Id
userID
Sex
Money
001
Zhangsan
ÄÐ
30
002
Wangwu
ÄÐ
50
003
Zhangsan
ÄÐ
40
ÒªÇó1£º²éѯ±íbankMoneyµÄÄÚÈݵĴ洢¹ý³Ì
create procedure sp_query_bankMoney
as
select * from bankMoney
go
exec sp_query_bankMoney
×¢* ÔÚʹÓùý³ÌÖÐÖ»ÐèÒª°ÑÖеÄSQLÓï¾äÌæ»»Îª´æ´¢¹ý³ÌÃû£¬¾Í¿ÉÒÔÁ˺ܷ½±ã°É£¡
ʵÀý2£¨Ïò´æ´¢¹ý³ÌÖд«µÝ²ÎÊý£©£º
¼ÓÈëÒ»±Ê¼Ç¼µ½±íbankMoney£¬²¢²éѯ´Ë±íÖÐuserID= ZhangsanµÄËùÓдæ¿îµÄ×ܽð¶î¡£
Create proc insert_bank @param1 char(10),@param2 varchar(20),@param3 varchar(20),@param4 int,@param5 int output
with encryption ---------¼ÓÃÜ
as
insert bankMoney (id,userID,sex,Money)
Values(@param1,@param2,@param3, @param4)
select @param5=sum(Money) from bankMoney where userID='Zhangsan'
go
ÔÚSQL Server²éѯ·ÖÎöÆ÷ÖÐÖ´Ðиô洢¹ý³ÌµÄ·½·¨ÊÇ£º
declare @total_price int
exec insert_bank '004','Zhangsan','ÄÐ',100,@total_price output
print '×ÜÓà¶îΪ'+convert(varchar,@total_price)
go
ÔÚÕâÀïÔÙ啰àÂһϴ洢¹ý³ÌµÄ3ÖÖ´«»ØÖµ£¨·½±ãÕýÔÚ¿´Õâ¸öÀý×ÓµÄÅóÓѲ»ÓÃÔÙÈ¥²é¿´Óï·¨ÄÚÈÝ£©:
1.ÒÔReturn´«»ØÕûÊý
2.ÒÔoutput¸ñʽ´«»Ø²ÎÊý
3.Recordset
´«»ØÖµµÄÇø±ð:
outputºÍreturn¶¼¿ÉÔÚÅú´Î³ÌʽÖÐÓñäÁ¿½ÓÊÕ,¶ørecordsetÔò´«»Øµ½Ö´ÐÐÅú´ÎµÄ¿Í»§¶ËÖС£
ʵÀý3£ºÊ¹ÓôøÓи´ÔÓ SELECT Óï¾äµÄ¼òµ¥¹ý³Ì
¡¡¡¡ÏÂÃæµÄ´æ´¢¹ý³Ì´ÓËĸö±íµÄÁª½ÓÖзµ»ØËùÓÐ×÷Õߣ¨ÌṩÁËÐÕÃû£©¡¢³ö°æµÄÊé¼®ÒÔ¼°³ö°æÉç¡£¸Ã´æ´¢¹ý³Ì²»Ê¹ÓÃÈκβÎÊý¡£
USE pubs
IF EXISTS (SELECT name from sysobjects
WHERE name = 'au_info_all' AND type = 'P')
DROP PROCEDURE au_info_all
GO
CREATE PROCEDURE au_info_all
AS
SELECT au_lname, au_fname, title, pub_name
from authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
GO
¡¡¡¡au_info_all ´æ´¢¹ý³Ì¿ÉÒÔͨ¹ýÒÔÏ·½·¨Ö´ÐУº
EXECUTE au_info_all
¡¡¡¡ÊµÀý4£º
Ïà¹ØÎĵµ£º
1 Âß¼Êý¾Ý¿âºÍ±íµÄÉè¼Æ
Êý¾Ý¿âµÄÂß¼Éè¼Æ¡¢°üÀ¨±íÓë±íÖ®¼äµÄ¹ØÏµÊÇÓÅ»¯¹ØÏµÐÍÊý¾Ý¿âÐÔÄܵĺËÐÄ¡£Ò»¸öºÃµÄÂß¼Êý¾Ý¿âÉè¼Æ¿ÉÒÔΪ
ÓÅ»¯Êý¾Ý¿âºÍÓ¦ÓóÌÐò´òÏÂÁ¼ºÃµÄ»ù´¡¡£
±ê×¼»¯µÄÊý¾Ý¿âÂß¼Éè¼Æ°üÀ¨ÓöàµÄ¡¢ÓÐÏ໥¹ØÏµµÄÕ±íÀ´´úÌæºÜ¶àÁеij¤Êý¾Ý±í¡£ÏÂÃæÊÇһЩʹÓñê×¼»¯
±íµÄһЩºÃ´¦¡£
A:ÓÉÓÚ±íÕ£¬Òò´Ë¿ÉÒÔʹŠ......
½ñÌìÔڵǼsql2005µÄʱºò£¬ÏëÓÃsaµÄÑéÖ¤·½Ê½µÇ¼£¬·¢ÏֵǼ²»ÁË£¬ÔÚÍøÉϲéÁËÏ£¬°´ÕÕÏÂÃæµÄ¾Í¿ÉÒÔ½â¾ö¡£Ö®Ç°ÔÚ×°sql2005µÄʱºò£¬ÊÇÉèÖóÉwindowsÑéÖ¤·½Ê½µÇ¼µÄ¡£
¾ßÌå½â¾ö·½°¸ÈçÏ£º
1. ¿ªÆôsql2005Ô¶³ÌÁ¬½Ó¹¦ÄÜ,¿ªÆô°ì·¨ÈçÏÂ,
ÅäÖù¤¾ß->sql serverÍâΧӦÓÃÅäÖÃÆ÷->·þÎñºÍÁ¬½ÓµÄ ......
½ñÌìÓÃtime Like '2008-06-01%'Óï¾äÀ´²éѯ¸ÃÌìµÄËùÓÐÊý¾Ý£¬±»ÌáʾÓï¾ä´íÎó¡£²éÁËһϲŷ¢ÏÖ¸ÃÄ£ºý²éѯֻÄÜÓÃÓÚStringÀàÐ͵Ä×ֶΡ£
×Ô¼ºÒ²²éÔÄÁËһЩ×ÊÁÏ¡£¹ØÓÚʱ¼äµÄÄ£ºý²éѯÓÐÒÔÏÂÈýÖÖ·½·¨£º
1.Convertת³ÉString,ÔÚÓÃLike²éѯ¡£
select * from table1 where c ......
±àÂë¹ý³ÌÖÐÓöµ½µÄSQL·ÖÒ³Çé¿ö£¬×ܽ᣺
´ÓÊý¾Ý¿â±íÖеÚMÌõ¼Ç¼¿ªÊ¼¼ìË÷NÌõ¼Ç¼
MySQL£º
ÏȲéѯ·ÖÒ³£¬È»ºóÅÅÐò£º
select * from (select * from student limit 5,2) pageTable order by id desc ;
ÏÈÅÅÐò£¬È»ºó²éѯ·ÖÒ³£ºselect * from student order by id desc limit 5,2 ;
Oracle£º
SELECT * fro ......
1¡¢¼òµ¥²éѯ
Çó³öÔÚ1988ÄêÒÔǰ±»¹ÍÓ¶µÄÏúÊÛÈËÔ±
SELECT NAME
from SALESREPS
WHERE HIRE_DATE<'01-JAN-88'
ÁгöÆäÏúÊÛÁ¿µÍÓÚÏúÊÛÄ¿±êµÄ80%µÄÏúÊÛµã
SELECT CITY,SALES,TAGET
from SALESPEPS
WHERE SALES<0.8*TAGET ......