PL/SQLÖÐJOBÓ÷¨Ð¡½á
Ò»¡¢ÉèÖóõʼ»¯²ÎÊý job_queue_processes
¡¡¡¡sql> alter system set job_queue_processes=n;£¨n>0£©
¡¡¡¡job_queue_processes×î´óֵΪ1000
¡¡¡¡
¡¡¡¡²é¿´job queue ºǫ́½ø³Ì
¡¡¡¡sql>select name,description from v$bgprocess;
¡¡¡¡
¡¡¡¡¶þ£¬dbms_job package Ó÷¨½éÉÜ
¡¡¡¡°üº¬ÒÔÏÂ×Ó¹ý³Ì£º
¡¡¡¡
¡¡¡¡Broken()¹ý³Ì¡£
¡¡¡¡change()¹ý³Ì¡£
¡¡¡¡Interval()¹ý³Ì¡£
¡¡¡¡Isubmit()¹ý³Ì¡£
¡¡¡¡Next_Date()¹ý³Ì¡£
¡¡¡¡Remove()¹ý³Ì¡£
¡¡¡¡Run()¹ý³Ì¡£
¡¡¡¡Submit()¹ý³Ì¡£
¡¡¡¡User_EXPort()¹ý³Ì¡£
¡¡¡¡What()¹ý³Ì¡£
¡¡¡¡
¡¡¡¡1¡¢Broken()¹ý³Ì¸üÐÂÒ»¸öÒÑÌá½»µÄ¹¤×÷µÄ״̬£¬µäÐ͵ØÊÇÓÃÀ´°ÑÒ»¸öÒÑÆÆ¹¤×÷±ê¼ÇÎªÎ´ÆÆ¹¤×÷¡£
¡¡¡¡Õâ¸ö¹ý³ÌÓÐÈý¸ö²ÎÊý£ºjob ¡¢brokenÓënext_date¡£
¡¡¡¡
¡¡¡¡PROCEDURE Broken (job¡¡¡¡¡¡ IN binary_integer,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Broken¡¡¡¡IN boolean,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡next_date IN date :=SYSDATE)
¡¡¡¡
¡¡¡¡job²ÎÊýÊǹ¤×÷ºÅ£¬ËüÔÚÎÊÌâÖÐΨһ±êʶ¹¤×÷¡£
¡¡¡¡broken²ÎÊýָʾ´Ë¹¤×÷ÊÇ·ñ½«±ê¼ÇÎªÆÆ——TRUE˵Ã÷´Ë¹¤×÷½«±ê¼ÇÎªÆÆ£¬¶øFLASE˵Ã÷´Ë¹¤×÷½«±ê¼ÇÎªÎ´ÆÆ¡£
¡¡¡¡next_date²ÎÊýָʾÔÚʲôʱºò´Ë¹¤×÷½«ÔÙ´ÎÔËÐС£´Ë²ÎÊýȱʡֵΪµ±Ç°ÈÕÆÚºÍʱ¼ä¡£
¡¡¡¡job¼ÙÈçÓÉÓÚijÖÖÔÒòδÄܳɹ¦Ö®ÐУ¬Oracle½«ÖØÊÔ16´Îºó£¬»¹Î´Äܳɹ¦Ö´ÐУ¬½«±»±ê¼ÇΪbrokenÖØÐÂÆô¶¯×´Ì¬ÎªbrokenµÄjob£¬ÓÐÈçÏÂÁ½ÖÖ·½Ê½;
¡¡¡¡a¡¢ÀûÓÃdbms_job.run()Á¢¼´Ö´ÐиÃjob
¡¡¡¡¡¡ sql>begin
¡¡¡¡¡¡ sql>dbms_job.run(:jobno) ¸ÃjobnoΪsubmit¹ý³ÌÌύʱ·µ»ØµÄjob number
¡¡¡¡¡¡ sql>end;
¡¡¡¡¡¡ sql>/
¡¡¡¡b¡¢ÀûÓÃdbms_job.broken()ÖØÐ½«broken±ê¼ÇΪfalse
¡¡¡¡¡¡ sql>begin
¡¡¡¡¡¡ sql>dbms_job.broken (:job,false,next_date)
¡¡¡¡¡¡ sql>end;
¡¡¡¡¡¡ sql>/
¡¡¡¡2¡¢Change()¹ý³ÌÓÃÀ´¸Ä±äÖ¸¶¨¹¤×÷µÄÉèÖá£
¡¡¡¡Õâ¸ö¹ý³ÌÓÐËĸö²ÎÊý£ºjob¡¢what ¡¢next_dateÓëinterval¡£
¡¡¡¡
¡¡¡¡PROCEDURE Change (job¡¡¡¡¡¡¡¡IN binary_integer,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡What¡¡¡¡¡¡ IN varchar2,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡next_date¡¡IN date,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡interval¡¡ IN varchar2)
¡¡¡¡
¡¡¡¡´Ëjob²ÎÊýÊÇÒ»¸öÕûÊýÖµ£¬ËüΨһ±êʶ´Ë¹¤×÷¡£
¡¡¡¡What²ÎÊýÊÇÓɴ˹¤×÷ÔËÐеÄÒ»¿éPL/SQL´úÂë¿é¡£
¡¡¡¡next_date²ÎÊýָʾºÎʱ´Ë¹¤×÷½«±»Ö´ÐС£
¡¡¡¡interval²ÎÊýָʾһ¸ö¹¤×÷ÖØ
Ïà¹ØÎĵµ£º
and exists (select * from sysobjects) //ÅжÏÊÇ·ñÊÇMSSQL
and exists(select * from tableName) //ÅжÏij±íÊÇ·ñ´æÔÚ..tableNameΪ±íÃû
and 1=(select @@VERSION) //MSSQL°æ±¾
And 1=(select db_name()) //µ±Ç°Êý¾Ý¿âÃû
and 1=(select @@servername) //±¾µØ·þÎñÃû
and 1=(select IS_SRVROLEMEMBER('sysadmin')) //Å ......
SQLÊÖ¹¤×¢Èë´óÈ«
2006Äê08ÔÂ11ÈÕ ÐÇÆÚÎå 21:00
±È·½ËµÔÚ²éѯidÊÇ50µÄÊý¾Ýʱ£¬Èç¹ûÓû§´«½üÀ´µÄ²ÎÊýÊÇ50 and 1=1£¬Èç¹ûûÓÐÉèÖùýÂ˵ϰ£¬¿ÉÒÔÖ±½Ó²é³öÀ´£¬SQL ×¢ÈëÒ»°ãÔÚASP³ÌÐòÖÐÓöµ½×î¶à£¬
¿´¿´ÏÂÃæµÄ
1.ÅжÏÊÇ·ñÓÐ×¢Èë
;and 1=1
;and 1=2
2.³õ²½ÅжÏÊÇ·ñÊÇmssql
;and user>0
3.ÅжÏÊý¾Ý¿âϵͳ
;and ......
PL/SQL ²»¾ß±¸ÊäÈëÊä³öµÄÄÜÁ¦
µ«ÊÇ¿ÉÒÔÒÀ¿¿»·¾³À´Ö´ÐÐÊýÖµµÄÊäÈëÊä³ö¸øPL/SQL ¿é
SQLPLUS »·¾³ÓÃsubstitution variables ºÍ host(bind) variable À´´«ÈëÊýÖµ¸øPL/SQL¿é
substitution variable: such as a preceding ampersand &a
host(bind) variable : such as a preceding colon :x
Ìæ ......
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 ......
SQL Server°²×°³ö´íÎÊÌâ½â¾ö
ÏÈ
°ÑSQL ServerÐ¶ÔØ£¬ÔٰѰ²×°Ê±²úÉúµÄ“Microsoft SQL
Server”Îļþ¼Ðɾµô,ÔÚÔËÐÐ×¢²á±í,°ÑHKEY_CURRENT_USER\\Software\\Microsoft\\Microsoft
SQL Server£¬ºÍHKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SQL
ServerÈ«²¿É¾µô£¬(×¢ÒâÒª°ÑMicrosoft SQL ServerÎļþ¼ÐÕ ......