PL/SQL ѧϰ±Ê¼Ç3
SQL> var a number
SQL> begin
2 :a :=1000;
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> edit
Wrote file afiedt.buf
1 begin
2 dbms_output.put_line(:a);
3* end;
SQL> /
ͨ¹ýÕâ¸ö´úÂë¿ÉÒÔ¿´³öͨ¹ýpl/sql³õʼ»¯¸³ÖµµÄBind variable¿ÉÒÔ±»ÆäËûPl/sql³ÌÐòµ÷ÓÃ
%type ÀàÐÍÓ¦Óõϰ Èç¹ûÇ°ÃæÓõÄÊÇdatabase columnµÄ»° ÄÇô²»¿ÉÒÔ¼Ónot null,Ç°ÃæÒýÓõÄÊÇÉùÃ÷µÄ±äÁ¿¿ÉÒÔÓ¦ÓÃnot null
A NOT NULLdatabase column constraint does not apply to variables that are declared using %TYPE.
Therefore, if you declare a variable using the %TYPEattribute that uses a database column defined as NOT
NULL, you can assign the NULLvalue to the variable.
eg:
°ó¶¨±äÁ¿
A bind variable is a variable that you declare in a host environment.
Bind variables can be used to pass run-time values, either number or character, into or out of one or more PL/SQL programs. The PL/SQL
programs use bind variables as they would use any other variable. You can reference variables declared in the
host or calling environment in PL/SQL statements, unless the statement is in a procedure, function, or
package. This includes host language variables declared in precompiler programs, screen fields in Oracle Developer Forms applications, and iSQL*Plus bind variables.
°ó¶¨±äÁ¿¿ÉÒÔÔÚÖ÷»ú»·¾³ÏÂÉùÃ÷ ¿ÉÒÔÔÚsqlplus ÕâÖÖÓ¦ÓóÌÐòÏÂÉùÃ÷ È»ºópl/sql³ÌÐòÀ´µ÷Óà µ÷ÓÃÐèÒªÔڸñäÁ¿Ç°¼Ócolon
¸³ÖµµÄʱºò¿ÉÒÔʹÓà exec :var_name := 10000; or begin :var_name := 1000 end; »òÕßÊÇÔÚPL/SQLÖи³Öµ
print(sqlplus command)¿ÉÒÔ´òÓ¡³öÕâ¸öÖµ
SQL> var result number
SQL> begin
2 select (sal*12) + nvl(comm,0)
3 into :result
4 from emp
5 where empno = 7369;
6 end;
7 /
PL/SQL procedure successfully completed.
SQL> print result
RESULT
------
9600
SQL> exec :result = 10000
BEGIN :result = 10000; END;
*
ERROR at line 1:
ORA-06550: line 1, column 15:
PLS
Ïà¹ØÎĵµ£º
SQL(Structure Query Language)ÓïÑÔÊÇÊý¾Ý¿âµÄºËÐÄÓïÑÔ¡£
SQLµÄ·¢Õ¹ÊÇ´Ó1974Ä꿪ʼµÄ£¬Æä·¢Õ¹¹ý³ÌÈçÏ£º
1974Äê-----ÓÉBoyceºÍChamberlinÌá³ö£¬µ±Ê±³ÆSEQUEL¡£
1976Äê-----IBM¹«Ë¾µÄSanjaseÑо¿ËùÔÚÑÐÖÆRDBMS SYSTEM Rʱ¸ÄΪSQL¡£
1979Äê-----ORACLE¹«Ë¾·¢±íµÚÒ»¸ö»ùÓÚSQLµÄÉÌÒµ»¯RDBMS²úÆ·¡£
1982Äê-----IBM¹«Ë¾³ö°æµ ......
Microsoft SQL Server£¨ÒÔϼò³ÆSQL Server£©×÷ΪһÖÖÖÐСÐÍÊý¾Ý¿â¹ÜÀíϵͳ£¬ÒѾµÃµ½Á˹㷺µÄÓ¦Ó㬸Ãϵͳ¸üÇ¿µ÷ÓÉϵͳÀ´¹ÜÀíËø¡£ÔÚÓû§ÓÐSQLÇëÇóʱ£¬ÏµÍ³·ÖÎöÇëÇó£¬×Ô¶¯ÔÚÂú×ãËø¶¨Ìõ¼þºÍϵͳÐÔÄÜÖ®¼äΪÊý¾Ý¿â¼ÓÉÏÊʵ±µÄËø£¬Í¬Ê±ÏµÍ³ÔÚÔËÐÐÆÚ¼ä³£³£×Ô¶¯½øÐÐÓÅ»¯´¦Àí£¬ÊµÐж¯Ì¬¼ÓËø¡£
¡¡¡¡¶ÔÓÚÒ»°ãµÄÓû§¶øÑÔ£¬Í¨¹ýϵͳµÄ× ......
mysqlµ¼³ösql½Å±¾ ÊÕ²Ø
×¢ÒâÊÂÏî:
*±ØÐëÔÚD:\LTSOFT\MYSQL4\bin> mysqldump -u root -p test > c:\a.sql
ÏȵýøÈëmysql°²×°Ä¿Â¼µÄbinÏ£¨¿ÉÒÔ¿´µ½ÀïÃæÓÐmysqldump.exe£©£¬Í¨³£mysqlĬÈϰ²×°ÔÚC:\Program Files\MySQL\MySQL Server 5.0
* ²»ÄܽøÈëmysql ÃüÁîÀï.
MySQLµ¼³ ......
create PROCEDURE [dbo].[P_PageTest]
@SQL Nvarchar(max), --SQLÓï¾ä²»°üÀ¨ÅÅÐò
@CurPage int, --µ±Ç°Ò³
@PageRows int, --Ò³Ãæ³ß´ç
@Order Nvarchar(20), --ÅÅÐò×Ö¶Î
@OrderType Nvarchar( ......
declare @p int
declare @p1 int
declare @count int
set @p=0
set @p1=10
set @count=2
if(@count<>0 or @count<>1)
set @p=@p1*@count-10
SELECT [t1].[userid], [t1].[username], [t1].[userorder]
from (
SELECT ROW_NUMBER() OVER (ORDER BY [t0].[userorder]) AS [ROW_NU ......