❶ 怎麼修改sqlserver分區方案
創建一個分區表首先要定義你用來映射表內分區的分區函數。在下面定義的分區函數中,我將使用三個分區,每個分碧碧銀區對應於SalesHistoryArchive表中的每一種產品類型,這個表將在稍後定義。基本上,這些分區會把SalesHistoryArchive檔案表劃分成三個不同的表,它們由SQL Server自動慧含維護。CREATE PARTITION FUNCTION [pf_Proct_Partition](VARCHAR(10)) AS RANGE LEFTFOR VALUES (N'BigScreen', N'Computer', N'PoolTable')定義函數的范圍決定分區值屬於哪一個邊界。RNAGE LEFT:指定分區值將小於或等於在分區函數中定義的值。在上面使用的分區函數中一共建立了四個分區悔宴。
❷ mysql已經使用的表還能分區嗎,因為商品表裡的數據太多,想分區,不知道可以嗎
你可以考慮把數據按照分類查找出來,譬如說第一個按照海鮮分類,select * from 表名 where 欄位 = 海鮮。
然後把查出來的數據批量插入新建辯族的表中。這樣是比較好操作的,如果要強制分區的慎胡話,建議你先建立一個備份寬灶攔的資料庫,或者先建一個測試表,測試以下代碼:
下面的SQL,將p2010Q1 分區,拆分為s2009 與s2010 兩個分區
mysql> ALTER TABLE sale_data REORGANIZE PARTITION p2010Q1 INTO (
-> PARTITION s2009 VALUES LESS THAN (201001),
-> PARTITION s2010 VALUES LESS THAN (201004)
-> );
❸ 如何在已分區的操作系統中重新分區
pqmagic
Partition Magic是一款非常優秀的磁碟分區管理軟體,可以實現硬碟動態分區和無損分區,而且支持大容量硬碟,可以輕松實現FAT和FAT32、NTFS分區間相互轉換,同時還能非常方便地實現分區的拆分、刪除、修改,而且還可以實現多C盤引導功能等。
創建主分區
啟動Partition Magic進入其主界面窗口,如果你使用的是一個新購置的硬碟,可以單擊菜單命令「Operations→Create」,彈出「Create New Partition」對話框,在「Create as」選項中選擇「Primary Partition」,並在分區類型中選擇文件系統類型,比如FAT、FAT32、NTFS等,如果你安裝的系統將是Windows 9x,那麼可以選擇FAT32分區類型,如果是安裝Windows 2000/NT/XP系統,建議選擇NTFS類型,最後在「Label」中輸入框中填入新分區的卷標,單擊「OK」按鈕即可生成主分區。
新建分區
如果你打算在原系統分區中重新創建一個新的分區,可以在硬碟列表中右鍵單擊需要更改的硬碟分區,在彈出的快捷菜單中選擇「Resize/Move」命令,這時會打開調整容量對話框(如圖3),用滑鼠拖動到上面的綠色條紋,也可以在下面顯示框中輸入數值,其中灰綠色表示已經使用空間,綠色表示分區的剩餘空間,灰色為新建的自由分區大小,將游標移到橫條右側,然後按住滑鼠左鍵向左拖拽,以確定原分區和自由空間的大小,完成後單擊「OK」按鈕確定。
返回到主界面窗口會發現已經多出一個自由分區了,下面選中剛才建立的自由分區並用滑鼠右鍵單擊,另外,如不想改變已有分區的大小而重新創建分區,則按照前面介紹的方法進行即可創建主分區或邏輯分區廳桐,這樣我們就可以創建多個分區了。
合並與分割分區
選擇主界面中要合並的分區,然後單擊滑鼠右鍵,在彈出的快捷菜單中選擇「Merge」命令,打衡伏蘆開合並對話框。當想要把兩個分區合並成為一個的時候,要被合並的一個分區的內容會被放到另一個分區的指定的文件夾下面。在「Merge Option」中選擇要合並的分區,然後在「Folder Name」中指定用於存放合並分區內容的文件夾的名稱後,單擊「OK」按鈕。
圖4
如果要分割一個分區,可以用滑鼠右鍵單擊要分割的分區,然後在打開的快捷菜單中選擇「Split」命令,打開「Split Partition」對話框,這里要指定一個存放文件的文件夾,另外還要指定哪些文件或者文件夾存放到新的分區中,可以雙擊左側的文件夾就可以把它放在新增的分區中了,另外,還可以設定新分割後的分區的卷標,完成後單擊「OK」按鈕。
轉換分區
如果你想轉換分區的文件系統,在Partition Magic中也是可以非常容易實現的,它可以輕松實現在FAT16和FAT32、還能在NTFS文件系統和FAT系統之間轉換。用滑鼠右鍵單擊要轉換分區的盤符,然後選擇「Convert」命令,需要注意的是,Windows 98之類的系統只可以把FAT16轉換為FAT32,而對於Windows NT只可以把FAT16、FAT32轉換為NTFS。
除了以上的操作外,在Partition Magic中還可以復制分區、格式化分區等操作,都可通過滑鼠右鍵菜單實現。
下載:Partition Magic是一款非常優秀的磁碟分區管理軟體,可以實現硬碟動態分區和無損分區,而且支持大容量硬碟,可以輕松實現FAT和FAT32、NTFS分區間相互轉換,同時還能非常方便地實現分區的拆分、刪除、修改,而且還可以實現多C盤引導功能等。
創建主分區
啟動Partition Magic進入其主界面窗口,如果你使用的是一個新購置的硬碟,可以單擊菜單命令「Operations→Create」,彈出「Create New Partition」對話框,在「Create as」選項中選擇「Primary Partition」,並在分區類型中選擇文件系統類型,比如FAT、FAT32、NTFS等,如果你安裝的系統將是Windows 9x,那麼可以選擇FAT32分區類型,如果是安裝Windows 2000/NT/XP系統,建議選擇NTFS類型,最後在「Label」中輸入框中填入新分區的卷咐帶標,單擊「OK」按鈕即可生成主分區。
新建分區
如果你打算在原系統分區中重新創建一個新的分區,可以在硬碟列表中右鍵單擊需要更改的硬碟分區,在彈出的快捷菜單中選擇「Resize/Move」命令,這時會打開調整容量對話框(如圖3),用滑鼠拖動到上面的綠色條紋,也可以在下面顯示框中輸入數值,其中灰綠色表示已經使用空間,綠色表示分區的剩餘空間,灰色為新建的自由分區大小,將游標移到橫條右側,然後按住滑鼠左鍵向左拖拽,以確定原分區和自由空間的大小,完成後單擊「OK」按鈕確定。
返回到主界面窗口會發現已經多出一個自由分區了,下面選中剛才建立的自由分區並用滑鼠右鍵單擊,另外,如不想改變已有分區的大小而重新創建分區,則按照前面介紹的方法進行即可創建主分區或邏輯分區,這樣我們就可以創建多個分區了。
合並與分割分區
選擇主界面中要合並的分區,然後單擊滑鼠右鍵,在彈出的快捷菜單中選擇「Merge」命令,打開合並對話框。當想要把兩個分區合並成為一個的時候,要被合並的一個分區的內容會被放到另一個分區的指定的文件夾下面。在「Merge Option」中選擇要合並的分區,然後在「Folder Name」中指定用於存放合並分區內容的文件夾的名稱後,單擊「OK」按鈕。
圖4
如果要分割一個分區,可以用滑鼠右鍵單擊要分割的分區,然後在打開的快捷菜單中選擇「Split」命令,打開「Split Partition」對話框,這里要指定一個存放文件的文件夾,另外還要指定哪些文件或者文件夾存放到新的分區中,可以雙擊左側的文件夾就可以把它放在新增的分區中了,另外,還可以設定新分割後的分區的卷標,完成後單擊「OK」按鈕。
轉換分區
如果你想轉換分區的文件系統,在Partition Magic中也是可以非常容易實現的,它可以輕松實現在FAT16和FAT32、還能在NTFS文件系統和FAT系統之間轉換。用滑鼠右鍵單擊要轉換分區的盤符,然後選擇「Convert」命令,需要注意的是,Windows 98之類的系統只可以把FAT16轉換為FAT32,而對於Windows NT只可以把FAT16、FAT32轉換為NTFS。
除了以上的操作外,在Partition Magic中還可以復制分區、格式化分區等操作,都可通過滑鼠右鍵菜單實現。
Partition Magic是一款非常優秀的磁碟分區管理軟體,可以實現硬碟動態分區和無損分區,而且支持大容量硬碟,可以輕松實現FAT和FAT32、NTFS分區間相互轉換,同時還能非常方便地實現分區的拆分、刪除、修改,而且還可以實現多C盤引導功能等。
創建主分區
啟動Partition Magic進入其主界面窗口,如果你使用的是一個新購置的硬碟,可以單擊菜單命令「Operations→Create」,彈出「Create New Partition」對話框,在「Create as」選項中選擇「Primary Partition」,並在分區類型中選擇文件系統類型,比如FAT、FAT32、NTFS等,如果你安裝的系統將是Windows 9x,那麼可以選擇FAT32分區類型,如果是安裝Windows 2000/NT/XP系統,建議選擇NTFS類型,最後在「Label」中輸入框中填入新分區的卷標,單擊「OK」按鈕即可生成主分區。
新建分區
如果你打算在原系統分區中重新創建一個新的分區,可以在硬碟列表中右鍵單擊需要更改的硬碟分區,在彈出的快捷菜單中選擇「Resize/Move」命令,這時會打開調整容量對話框(如圖3),用滑鼠拖動到上面的綠色條紋,也可以在下面顯示框中輸入數值,其中灰綠色表示已經使用空間,綠色表示分區的剩餘空間,灰色為新建的自由分區大小,將游標移到橫條右側,然後按住滑鼠左鍵向左拖拽,以確定原分區和自由空間的大小,完成後單擊「OK」按鈕確定。
返回到主界面窗口會發現已經多出一個自由分區了,下面選中剛才建立的自由分區並用滑鼠右鍵單擊,另外,如不想改變已有分區的大小而重新創建分區,則按照前面介紹的方法進行即可創建主分區或邏輯分區,這樣我們就可以創建多個分區了。
合並與分割分區
選擇主界面中要合並的分區,然後單擊滑鼠右鍵,在彈出的快捷菜單中選擇「Merge」命令,打開合並對話框。當想要把兩個分區合並成為一個的時候,要被合並的一個分區的內容會被放到另一個分區的指定的文件夾下面。在「Merge Option」中選擇要合並的分區,然後在「Folder Name」中指定用於存放合並分區內容的文件夾的名稱後,單擊「OK」按鈕。
圖4
如果要分割一個分區,可以用滑鼠右鍵單擊要分割的分區,然後在打開的快捷菜單中選擇「Split」命令,打開「Split Partition」對話框,這里要指定一個存放文件的文件夾,另外還要指定哪些文件或者文件夾存放到新的分區中,可以雙擊左側的文件夾就可以把它放在新增的分區中了,另外,還可以設定新分割後的分區的卷標,完成後單擊「OK」按鈕。
轉換分區
如果你想轉換分區的文件系統,在Partition Magic中也是可以非常容易實現的,它可以輕松實現在FAT16和FAT32、還能在NTFS文件系統和FAT系統之間轉換。用滑鼠右鍵單擊要轉換分區的盤符,然後選擇「Convert」命令,需要注意的是,Windows 98之類的系統只可以把FAT16轉換為FAT32,而對於Windows NT只可以把FAT16、FAT32轉換為NTFS。
除了以上的操作外,在Partition Magic中還可以復制分區、格式化分區等操作,都可通過滑鼠右鍵菜單實現。
❹ oracle一張上千萬記錄的數據表需要改為分區表,用什麼方法好
Oracle提供了分區技術以支持VLDB(Very Large DataBase)。分區表通過對分區列的判斷,把分區列不同的記錄,放到不同的分區中。分區完全對應用透明。
Oracle的分區表可以包括多個分區,每個分區都是一個獨立的段(SEGMENT),可以存放到不同的表空間中。查詢時可以通過查詢表來訪問各個分區中的數據,也可以通過在查詢時直接指定分區的方法來進行查詢。
分區提供以下優點:
由於將數據分散到各個分區中,減少了數據損壞的可能性;
可以對單獨的分區含銷進行備份和恢復;
可以將分區映射到不同的物理磁碟上,來分散IO;
提高可管理性、可用性和性能。
Oracle提供了以下幾種分區類型:
范圍分區(range);
哈希分區(hash);
列表分區(list);
范圍-哈希復合分區(range-hash);
范圍-列表復合分區(range-list)。
Oracle的普通表沒有辦法通過修改屬性的方清友式直接轉化為分區表,必須通過重建的方式進行轉變,下面介紹三種效率比較高的方法,並說明它們各自的特點。
方法一:利用原表重建分區表。
步驟:
SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);
表已創建。
SQL> INSERT INTO T SELECT ROWNUM, CREATED FROM DBA_OBJECTS;
已創建6264行。
SQL> COMMIT;
提交完成。
SQL> CREATE TABLE T_NEW (ID, TIME) PARTITION BY RANGE (TIME)
2 (PARTITION P1 VALUES LESS THAN (TO_DATE('2004-7-1', 'YYYY-MM-DD')),
3 PARTITION P2 VALUES LESS THAN (TO_DATE('2005-1-1', 'YYYY-MM-DD')),
4 PARTITION P3 VALUES LESS THAN (TO_DATE('2005-7-1', 'YYYY-MM-DD')),
5 PARTITION P4 VALUES LESS THAN (MAXVALUE))
6 AS SELECT ID, TIME FROM T;
表已創建。
SQL> RENAME T TO T_OLD;
表已重命名。
SQL> RENAME T_NEW TO T;
表已重命名。
SQL> SELECT COUNT(*) FROM T;
COUNT(*)
----------
6264
SQL> SELECT COUNT(*) FROM T PARTITION (P1);
COUNT(*)
----------
0
SQL> SELECT COUNT(*) FROM T PARTITION (P2);
COUNT(*)
----------
6246
SQL> SELECT COUNT(*) FROM T PARTITION (P3);
COUNT(*)
----------
18
優點:方法簡單易用,由於採用DDL語句,不會產生UNDO,且只產生少量REDO,效率相對較高,而且建表完成後數據已經在分布到各個分區中了。
不足:對於數據的一致答老槐性方面還需要額外的考慮。由於幾乎沒有辦法通過手工鎖定T表的方式保證一致性,在執行CREATE TABLE語句和RENAME T_NEW TO T語句直接的修改可能會丟失,如果要保證一致性,需要在執行完語句後對數據進行檢查,而這個代價是比較大的。另外在執行兩個RENAME語句之間執行的對T的訪問會失敗。
適用於修改不頻繁的表,在閑時進行操作,表的數據量不宜太大。
方法二:使用交換分區的方法。
步驟:
SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);
表已創建。
SQL> INSERT INTO T SELECT ROWNUM, CREATED FROM DBA_OBJECTS;
已創建6264行。
SQL> COMMIT;
提交完成。
SQL> CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME)
2 (PARTITION P1 VALUES LESS THAN (TO_DATE('2005-7-1', 'YYYY-MM-DD')),
3 PARTITION P2 VALUES LESS THAN (MAXVALUE));
表已創建。
SQL> ALTER TABLE T_NEW EXCHANGE PARTITION P1 WITH TABLE T;
表已更改。
SQL> RENAME T TO T_OLD;
表已重命名。
SQL> RENAME T_NEW TO T;
表已重命名。
SQL> SELECT COUNT(*) FROM T;
COUNT(*)
----------
6264
優點:只是對數據字典中分區和表的定義進行了修改,沒有數據的修改或復制,效率最高。如果對數據在分區中的分布沒有進一步要求的話,實現比較簡單。在執行完RENAME操作後,可以檢查T_OLD中是否存在數據,如果存在的話,直接將這些數據插入到T中,可以保證對T插入的操作不會丟失。
不足:仍然存在一致性問題,交換分區之後RENAME T_NEW TO T之前,查詢、更新和刪除會出現錯誤或訪問不到數據。如果要求數據分布到多個分區中,則需要進行分區的SPLIT操作,會增加操作的復雜度,效率也會降低。
適用於包含大數據量的表轉到分區表中的一個分區的操作。應盡量在閑時進行操作。
方法三:Oracle9i以上版本,利用在線重定義功能
步驟:
SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);
表已創建。
SQL> INSERT INTO T SELECT ROWNUM, CREATED FROM DBA_OBJECTS;
已創建6264行。
SQL> COMMIT;
提交完成。
SQL> EXEC DBMS_REDEFINITION.CAN_REDEF_TABLE(USER, 'T', DBMS_REDEFINITION.CONS_USE_PK);
PL/SQL 過程已成功完成。
SQL> CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME)
2 (PARTITION P1 VALUES LESS THAN (TO_DATE('2004-7-1', 'YYYY-MM-DD')),
3 PARTITION P2 VALUES LESS THAN (TO_DATE('2005-1-1', 'YYYY-MM-DD')),
4 PARTITION P3 VALUES LESS THAN (TO_DATE('2005-7-1', 'YYYY-MM-DD')),
5 PARTITION P4 VALUES LESS THAN (MAXVALUE));
表已創建。
SQL> EXEC DBMS_REDEFINITION.START_REDEF_TABLE(USER, 'T', 'T_NEW', -
> 'ID ID, TIME TIME', DBMS_REDEFINITION.CONS_USE_PK);
PL/SQL 過程已成功完成。
SQL> EXEC DBMS_REDEFINITION.FINISH_REDEF_TABLE('YANGTK', 'T', 'T_NEW');
PL/SQL 過程已成功完成。
SQL> SELECT COUNT(*) FROM T;
COUNT(*)
----------
6264
SQL> SELECT COUNT(*) FROM T PARTITION (P2);
COUNT(*)
----------
6246
SQL> SELECT COUNT(*) FROM T PARTITION (P3);
COUNT(*)
----------
18
優點:保證數據的一致性,在大部分時間內,表T都可以正常進行DML操作。只在切換的瞬間鎖表,具有很高的可用性。這種方法具有很強的靈活性,對各種不同的需要都能滿足。而且,可以在切換前進行相應的授權並建立各種約束,可以做到切換完成後不再需要任何額外的管理操作。
不足:實現上比上面兩種略顯復雜。
適用於各種情況。
這里只給出了在線重定義表的一個最簡單的例子,詳細的描述和例子可以參考下面兩篇文章。
Oracle的在線重定義表功能:http://blog.itpub.net/post/468/12855
Oracle的在線重定義表功能(二):http://blog.itpub.net/post/468/12962
索引也可以進行分區,分區索引有兩種類型:global和local。對於local索引,每一個表分區對應一個索引分區,當表的分區發生變化時,索引的維護由Oracle自動進行。對於global索引,可以選擇是否分區,而且索引的分區可以不與表分區相對應。當對分區進行維護操作時,通常會導致全局索引的INVALDED,必須在執行完操作後REBUILD。Oracle9i提供了UPDATE GLOBAL INDEXES語句,可以使在進行分區維護的同時重建全局索引。
全局索引可以包含多個分區的值 局部索引比全局索引容易管理,而全局索引比較快
注意:不能為散列分區 或者 子分區創建全局索引
Oracle的分區功能十分強大。不過用起來發現有兩點不大方便:
第一是已經存在的表沒有方法可以直接轉化為分區表。不過Oracle提供了在線重定義表的功能,可以通過這種方式來完成普通表到分區表的轉化。可以參考這個例子:http://blog.itpub.net/post/468/13091
第二點是如果採用了local分區索引,那麼在增加表分區的時候,索引分區的表空間是不可控制的。如果希望將表和索引的分區分開到不同的表空間且不同索引分區也分散到不同的表空間中,那麼只能在增加分區後,對新增的分區索引單獨rebuild。
Oracle最大允許存在多少個分區呢?
我們可以從Oracle的Concepts手冊上找到這個信息,對於Oracle9iR2:
Tables can be partitioned into up to 64,000 separate partitions.
對於Oracle10gR2,Oracle增強了分區特性:
Tables can be partitioned into up to 1024K-1 separate partitions.
關於何時應該進行分區,Oracle有如下建議:
■ Tables greater than 2GB should always be considered for partitioning.
■ Tables containing historical data, in which new data is added into the newest partition. A typical example is a historical table where only the current month's data is updatable and the other 11 months are read only.
這些信息是在網上查到的,測試了下確實可以用。
❺ mysql 中如果一張表中沒有建分區,可以之後再添加分區嗎 如果可以建分區的語句是什麼
不能。
你是澱粉吧,我也是。
其實你可以先刪除這張表,再重建。
❻ 如何對已經存在的數據表進行分區
過程中為SQL Server數據表劃分為三個步驟:
1)建立分區函數
2)建立分區方案
3)對表的分區
第一步:建立分區函數
分區函數定義[U]如何[/ U],也就是你想怎麼SQL Server數據分區。這里不是一個特定的表作為一個例子,但總的技術部門總結的數據。
分區指定為每個分區用分區邊界來實現。例如,假設我們有一個客戶表,其中包含所有的企業客戶信息,客戶信息與客戶的唯一標識號,客戶編號從1到100萬。我們可以使用下面的分區功能(這里稱為customer_Partfunc)把這個表分為四個分區:
CREATE PARTITION FUNCTION customer_partfunc(INT)
AS RANGE RIGHT
輸入值( 250000,500000,750000)
這些邊界劃分指定了四個分區。第一個分區包含所有值?少於25萬的記錄。第二個分區包含所有值?之間250,000和499,999的記錄。第三個分區包含所有值?500,000至749,999記錄。大於或等於750,000的所有其他記錄都包含在第四個分區中。
請注意,此示例使用「RANGE RIGHT」條款。這表明,該邊界值是分區的右側。同樣,如果您使用「RANGE LEFT」條款,那麼第一個分區將包含所有的值小於或等於25萬條記錄;?第二個分區將包含所有的值250001和500000之間的記錄,等等??
第二步:創建
分區方案
一旦如何分區功能分區後的數據完整的定義,下一步是創建一個分區方案,定義[ U],其中[/ U],這就是你要分區的數據。這是一個非常簡單的過程,例如,如果我有四個文件組,從「FG1」到「FG4」的名字,那麼你可以使用下面的分區方案:
創建分區計劃customer_partscheme
作為間隔customer_partfunc
要(FG1,FG2,FG3,FG4)
請注意,我們現在把一個分區函數連接到分區規劃,但我們還沒有連接在分區方案的任何具體的資料庫表。這是重復使用的功能函數時。我們可以利用這個功能來分區方案(或只是一個分區函數)對資料庫表的任何數據。
第三步:表已分區
建立良好的分區方案後,就可以開始對表進行分區。這是最簡單的一步,只需加上「ON」子句中的表創建語句指定表的分區方案,並申請表列的分區方案。你不需要指定分區函數,分區方案已經因為分區函數定義。
例如,假設你想使用上述的分區方案來創建一個客戶表,您需要使用以下Transact-SQL語句:
CREATE TABLE客戶(姓數據類型為nvarchar(40),姓氏為nvarchar(40),CUSTOMERNUMBER INT)
開customer_partscheme(CUSTOMERNUMBER)
❼ MySQL range分區用了MAXVALUE,想要添加新分區該怎麼辦
若設置了 LESS THAN MAXVALUE分區基祥,添加新分區時,需要重新彎歲分區。
/*重新定義range分區表:*/
Alter table emp partition by range(salary)
(
partition p1 values less than (2000),
partition p2 values less than (4000)
); ----不會丟失埋鋒睜數據
❽ SQL 2008 資料庫分區方案如何修改
COPY過來有什麼意思。。。。。。。
-----------------------------
要防止SQL注入其實不難,你知道原理就可以了。
所有的SQL注入都是從用戶的輸入開始的。如果你對所有用戶輸入進行了判定和過濾,就可以防止SQL注入了。用戶輸入有好幾種,我就說說常見的吧。
文本框、地址欄里***.asp?中?號後面的id=1之類的、單選框等等。一般SQL注入都用地址欄里旅凱皮的。孫遲。。。如果要說怎麼注入我想我就和上面的這位「仁兄」一樣的了。
你只要知道解決對嗎?
對於所有從上一頁傳遞過來的參數,包括request.form 、request.qurrystring等等進行過濾和修改。如最常的***.asp?id=123 ,我們的ID只是用來對應從select 里的ID,而這ID一般對應的是一個數據項的唯一值,而且是數字型的。這樣,我們只需把ID的值進行判定,就可以了。vbs默認的isnumeric是不行的,自己寫一個is_numeric更好,對傳過來的參數進行判定,OK,搞定。演算法上的話,自己想想,很容易了。但是真正要做到完美的話,還有很多要計算的。比如傳遞過來的參數的長度,類型等等,都要拆差進行判定。還有一種網上常見的判定,就是判定傳遞參數的那一頁(即上一頁),如果是正常頁面傳弟過來就通過,否則反之。也有對' or 等等進行過濾的,自己衡量就可以了。注意一點就是了,不能用上一頁的某一個不可見request.form("*")進行判定,因為用戶完全可以用模擬的形式「復制」一個和上一頁完全一樣的頁面來遞交參數。這樣,這招就沒用了。。。。
OK就說這么多,還不明白的話,找我。[email protected]
❾ oracle資料庫怎麼建分區
一般虧碼語法:
createtablet_test(
pk_idnumber(30)notnull,
add_date_timeDATE,
constraintPK_T_TESTprimarykey(pk_id)
)
PARTITION緩空散BYRANGE(add_date_time)
(
PARTITIONt_test_2013_lessVALUESLESSTHAN(TO_DATE('2013-01-0100:00:00','yyyy-mm-ddhh24:mi:ss'))TABLESPACETS_MISPS,
PARTITIONt_test_2013VALUESLESSTHAN(TO_DATE('2014-01-0100:00:00','yyyy-mm-ddhh24:mi:ss'))TABLESPACETS_MISPS,
PARTITIONt_test_2014VALUESLESSTHAN(TO_DATE('2015-01-01擾氏00:00:00','yyyy-mm-ddhh24:mi:ss'))TABLESPACETS_MISPS
);