DECLARE
TYPE list IS TABLE OF t_stu.project%TYPE INDEX BY BINARY_INTEGER;
project_list list;
v_pro_num NUMBER;
sql_str VARCHAR(255);
t_stu
SID SUBJECT SCORE
1 Êýѧ 99
1 Ó¢Óï 68
1 ·¨ÂÉ 79
2 Êýѧ 92
2 Ó¢Óï 72
2 ·¨ÂÉ 96
ʵÏÖ======
SID
Êýѧ
Ó¢Óï
·¨ÂÉ
1
99
68
79
2
92
72
96
DECLARE
TYPE list IS TABLE OF t_stu.subject%TYPE INDEX BY BINARY_INTEGER;
subject_list li ......
----start
ÔÚSQLÓï¾äÖÐÓ¦¸Ã¾¡Á¿±ÜÃâʹÓÃOR£¬ÒòΪÕâÑù×ö»áÓ°ÏìSQLÓï¾äµÄÐÔÄÜ¡£¿¼ÂÇÏÂÃæµÄÇé¿ö£º
CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---ÐÕÃû
BIRTHDAY DATE---ÉúÈÕ
);
ÏÖÔÚÓÐÕâÑùÒ»¸öÎÊÌ⣺ÈÃÄã²éÕÒÒ»ÏÂÉúÈÕÊÇ1949-10-1£¨¹²ºÍ¹úͬÁäÈË£©»ò1978-12-18£¨Ê®Ò»½ìÈýÖÐÈ«»áÕÙ¿ªÊ±¼ä£©µÄÈË£¬Ôõô°ì£¿
ÎÒÃǺÜ×ÔÈ»¾Í»á°ÑÕâ¾ä»°·Òë³ÉÈçÏÂSQLÓï¾ä£º
SELECT * from USER WHERE BIRTHDAY='1949-10-1' OR BIRTHDAY='1978-12-18'
ÕâÑù×öÍêÈ«ÕýÈ·£¬¿ÉÊÇÐÔÄܲ»ºÃ£¬ÄãµÄ˼Ïë±»Õâ¸öÎÊÌâÊø¸¿ÁË£¬ÎÒÃÇ»¹¿ÉÒÔÕâôд£º
SELECT * from USER WHERE BIRTHDAY IN ('1949-10-1','1978-12-18');
ÓÐʱºò£¬ÎÒÃDz»Òª°Ñ×Ô¼ºÊø¸¿ÔÚÎÊÌâÀïÃæ¡£
---¸ü¶à²Î¼û£ºDB2 SQL ¾«Òª
----ÉùÃ÷£º×ªÔØÇë×¢Ã÷³ö´¦¡£
----last update at 2009.9.24
----write by wave at 2009.9.24
----end ......
transaction 1:
------------------------------------------------------
begin transaction
update table1 set cola = 'str1'
Waitfor time '10:12:00'
update table2 set colb = 'str2'
rollback transaction
transaction 2:
------------------------------------------------------
begin transaction
update table2 set colb = 'str2'
Waitfor time '10:12:00'
update table1 set cola = 'str1'
rollback transaction
ͬʱÔËÐÐÕâÁ½¸öÊÂÎñ£¬½«µ¼ÖÂËÀËø¡£(ÏÈ´´½¨table1ºÍtable2£¬²¢²åÈëһЩֵ£»waitfor time Êʵ±ÐÞ¸Ä)
SQL Server±¾Éí»á´¦ÀíËÀËø£¬Í¨¹ýÑ¡ÔñÒ»¸öËÀËøÎþÉüÆ·£¬»Ø¹öËÀËøÎþÉüÆ·µÄÊÂÎñ£¬À´±ÜÃâËÀËø¡£
SQL ServerÔÚÉÏÃæÕâÁ½¸öÊÂÎñÖÐ×Ô¶¯Ñ¡ÔñÒ»¸ö×÷ΪËÀËøÎþÉüÆ·£¬¸ÃÊÂÎñ½«ÊÕµ½ÈçÏÂÏûÏ¢£º
------------------------------------------------------
Msg 1205, Level 13, State 56, Line 7
ÊÂÎñ(½ø³Ì ID 52)ÓëÁíÒ»¸ö½ø³Ì±»ËÀËøÔÚ Ëø ×ÊÔ´ÉÏ£¬²¢ÇÒÒѱ»Ñ¡×÷ËÀËøÎþÉüÆ·¡£ÇëÖ ......
ÈçÒªÔÚÒ»¸öhwsp±íÖÐÌî¼Ó×ֶΣºylxs
alter table hwsp add column ylxs
ALTER TABLE ±í {ADD ADD{COLUMN ×Ö¶ÎÀàÐÍ [ (×Ö³¤)] [NOT NULL] [CONSTRAINT Ë÷Òý ] |
ALTER COLUMN ×Ö¶ÎÀàÐÍ [(×Ö³¤)] |
CONSTRAINT ¶àÖØ×Ö¶ÎË÷Òý } |
DROP DROP{COLUMN ×Ö¶Î I CONSTRAINT Ë÷ÒýÃû } }
ALTER TABLE Óï¾ä·ÖΪÒÔϼ¸¸ö²¿·Ö£º
²¿·Ö ˵Ã÷
table ÓûÐ޸ĵıíÖ®Ãû³Æ¡£
field ÓûÔÚ±íÄÚÔö¼Ó»òɾ³ýµÄ×ֶεÄÃû³Æ¡£»ò±íÄÚÓû±»Ìæ»»µÄ×Ö¶ÎÃû³Æ¡£
type ×ֶεÄÊý¾ÝÀàÐÍ¡£
size ×ֶεÄ×Ö·û³¤¶È (Îı¾¼°¶þ½øÖÆ×Ö¶Î)¡£
index ×Ö¶ÎË÷Òý¡£ÓûÁ˽â¸ü¶àÓйØÈçºÎ¹¹Ôì±¾Ë÷ÒýµÄÐÅÏ¢£¬Çë¿´ CONSTRAINT×Ӿ䡣
multifieldindex ÓûÔö¼ÓÖÁ±í ÖеĶàÖØ×Ö¶ÎË÷ÒýµÄ¶¨Òå¡£ÓûÁ˽â¸ü¶àÓйØÈçºÎ¹¹Ôì±¾Ë÷ÒýµÄÐÅÏ¢£¬Çë¿´ CONSTRAINT×Ӿ䡣
indexname Óûɾ³ýµÄ¶àÖØ×Ö¶ÎË÷ÒýµÄÃû³Æ¡£
˵Ã÷
ʹÓà ALTER TABLE Óï¾ä£¬¿ÉÓöàÖÖ²»Í¬·½·¨¸ü¸Äµ±Ç°ÒÑ´æÔÚµÄ±í£ºÄã¿ÉÒÔ£º
ʹÓà ADD COLUMN ÔÚ±íÖÐÌí¼ÓеÄ×ֶΡ£ÐèÒªÖ¸¶¨×Ö¶ÎÃû¡¢Êý¾ÝÀàÐÍ¡¢»¹¿ÉÒÔ (¶ÔÎı¾ºÍ¶þ½øÖÆ×Ö¶Î)Ö¸¶¨³¤¶È¡£ÀýÈ磬ÏÂÁÐÓï¾äÔÚÔ ......
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE proc pGetInsertSQL (@TableName varchar(256))
as
begin
set nocount on
declare @sqlstr varchar(4000)
declare @sqlstr1 varchar(4000)
declare @sqlstr2 varchar(4000)
select @sqlstr='select ''insert '+@tablename
select @sqlstr1=''
select @sqlstr2=' ('
select @sqlstr1= ' values ( ''+'
select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case
-- when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end'
when a.xtype =175 then 'case when '+a.name+' is ......
----start
ÔÚSQLÓï¾äµÄ WHERE ×Ó¾äÖÐÓ¦¸Ã¾¡Á¿±ÜÃâÔÚ×Ö¶ÎÉÏʹÓú¯Êý£¬ÒòΪÕâÑù×ö»áʹ¸Ã×Ö¶ÎÉϵÄË÷ÒýʧЧ£¬Ó°ÏìSQLÓï¾äµÄÐÔÄÜ¡£¼´Ê¹¸Ã×Ö¶ÎÉÏûÓÐË÷Òý£¬Ò²Ó¦¸Ã±ÜÃâÔÚ×Ö¶ÎÉÏʹÓú¯Êý¡£¿¼ÂÇÏÂÃæµÄÇé¿ö£º
CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---ÐÕÃû
REGISTERDATE TIMESTAMP---×¢²áʱ¼ä
);
ÏÖÔÚÒªÇóÄã°Ñ2009.9.24×¢²áµÄÓû§¶¼²é³öÀ´£¬Ôõô°ì£¿¿ÉÄÜÓÐÈË»áÕâôд£º
SELECT * from USER WHERE REGISTERDATE='2009-9-24';
²»¹ýºÜÒź¶£¬Õâ¸öÓï¾äÊÇ´íÎóµÄ£¬ÒòΪREGISTERDATEÊÇTIMESTAMPÀàÐÍ£¬¶ø'2009-9-24'ĬÈÏÊÇDATEÀàÐÍ£¬ÀàÐͲ»Æ¥Åä¡£¼´È»ÀàÐͲ»Æ¥Å䣬ºÜ×ÔÈ»»áÏëµ½ÀûÓú¯Êý½øÐÐÀàÐÍת»»£¬Òò´Ë£¬ºÜ×ÔÈ»»áд³öÏÂÃæµÄÓï¾ä£º
SELECT * from USER WHERE DATE(REGISTERDATE)='2009-9-24';
ÉÏÊöÓï¾äÍêÈ«ÕýÈ·£¬µ«ÊǼÙÈçREGISTERDATE×Ö¶ÎÉÏÓÐË÷Òý£¬ÄÇô»áʹË÷ÒýʧЧ£¬¼´Ê¹Ã»ÓÐË÷Òý£¬Ò²²»Ó¦¸ÃÕâô×ö¡£ÄÇôµ½µ×ÈçºÎ´¦ÀíÄØ£¿´ð°¸Êǽ«Ëüת»¯Îª·¶Î§É¨Ã裬ÈçÏ£º
SELECT * from USER WHERE REGISTERDATE>='2009-9-24 00:00:00.0' AND REGISTERDATE<'2009-9-25 00:00:00.0';
---¸ü¶à²Î¼û£ºDB2 SQL ¾«Òª
----ÉùÃ÷£ ......