A. sql創建規則
--創建約束
USE 庫名 --引入資料庫
ALTER TABLE 表名 --修改表
ADD CONSTRAINT g1 --創建檢查約束
check (len(TelephoneNo) = 8) --添加約束條件
--創建規則
create rule g1
as
@TelephoneNo like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
--綁定規則
EXEC sp_bindrule 'g1','表名.TelephoneNo'
其實樓上的就可以~~
B. 請教/*+ rule */ 在sql語句中出現時說明作用
使用rule是你引導oracle建立執行計劃,如果sql自動建立的執行計劃比你引導建立的執行計劃高,那麼當然只會更慢了。
另外需要說明的是,在對sql內部工作原理不是很清楚,還是不要使用rule,因為oracle一般做的都比你好
並不是加了/*+RULE*/一定會快﹐這只是在做SQL優化時﹐首先應該嘗試的一種方法
我是經常遇到這樣的情況﹐加了/*+RULE*/使性能提高幾倍幾十倍
我開發的系統, 對復雜一點的表關聯﹐都要求我的程序員使用RBO
C. 安裝SQL 時候出現了failed to add firewall rule 怎樣解決
我也碰到了,win7, 64位系統.解決方法,關閉防火牆.再試.我關閉防火牆後報版本不一致!後來發現我改了文件名.以前是SQLFULL_CHS,我改成SQL SERVER 2008,所以報錯.以前這個安裝包我已經安裝過兩次,這次重裝系統碰到這些問題,最後覺得是改了文件名的原因.還有一種原因就是你下載的安裝包有問題。我曾經下載過一個SQL2008的安裝包,的確是毛病,從新下載了另外一個版本的就沒有任何問題的順利安裝完成
D. 安裝sqlserver2008時出現「Rule "Previous releases of Microsoft Visu...
恩 開始--運行--輸入【cmd】就打開了cmd的窗口了
然後輸入那一行【setup.exe /ACTION=install /SkipRules=VSShellInstalledRule】
E. snort規則文件sql.rules中的content內容為什麼用「|00|」分隔
|00|在抓包里就是一個.了,用於分割,否則抓包的時候格式會有問題,可以抓個包看一下。
F. sql語句創建一個規則
強烈建議你別再使用rule,這個是已經快被淘汰的語句了!
-- 創建自定義類型
EXEC sp_addtype type_phonenum, 'varchar(12)', 'NULL'
-- 創建自定義規則
create rule r_tel
as
@telphone like '____-_______'
-- 綁定規則到自定義類型
EXEC sp_bindrule 'r_tel', 'type_phonenum'
-- 在表中使用自定義類型
create table stu(
...
tel type_phonenum,
...)
-----------------------------------------------------------
--而這么多步驟,如果在表中啟用檢查約束,只需要這樣:
alter table stu
add constraint chk_phonenum
check (tel like '____-_______')
G. sql server中的規則是什麼 如何定義速回有加分!
CREATE RULE (Transact-SQL)
創建名為規則的對象。當綁定到列或別名數據類型時,使用規則指定可以插入到列中的可接受的值。
重要提示:
後續版本的 Microsoft SQL Server 將刪除該功能。請避免在新的開發工作中使用該功能,並著手修改當前還在使用該功能的應用程序。建議您改用檢查約束。檢查約束是使用 CREATE TABLE 或 ALTER TABLE 的 CHECK 關鍵字創建的。有關詳細信息,請參閱 CHECK 約束。
列或別名數據類型只能被綁定一個規則。不過,列可以同時有一個規則以及一個或多個檢查約束與其相關聯。在這種情況下,將評估所有限制。
Transact-SQL 語法約定
語法
CREATE RULE [ schema_name . ] rule_name
AS condition_expression
[ ; ]
參數
schema_name
規則所屬架構的名稱。
rule_name
新規則的名稱。規則名稱必須符合標識符規則。根據需要,指定規則所有者名稱。
condition_expression
定義規則的條件。規則可以是 WHERE 子句中任何有效的表達式,並且可以包括諸如算術運算符、關系運算符和謂詞(如 IN、LIKE、BETWEEN)這樣的元素。規則不能引用列或其他資料庫對象。可以包括不引用資料庫對象的內置函數。不能使用用戶定義函數。
condition_expression 包括一個變數。每個局部變數的前面都有一個 at 符號 (@)。該表達式引用通過 UPDATE 或 INSERT 語句輸入的值。在創建規則時,可以使用任何名稱或符號表示值,但第一個字元必須是 at 符號 (@)。
注意:
請避免對使用別名數據類型的表達式創建規則。雖然可以對使用別名數據類型的表達式創建規則,但在將規則綁定到列或別名數據類型後,表達式被引用時將無法對其進行編譯。
H. SQL:constraint和rule不是一個東西嗎
規則rule
創建名為規則的對象。 當綁定到列或別名數據類型時,使用規則指定可以插入到列中的可接受的值。
CREATE RULE range_rule
AS
@range>= $1000 AND @range <$20000;
後續版本的 Microsoft SQL Server 將刪除該功能。請避免在新的開發工作中使用該功能,並著手修改當前還在使用該功能的應用程序。建議您改用檢查約束。 檢查約束是使用 CREATE TABLE 或 ALTER TABLE 的 CHECK 關鍵字創建的。 有關詳細信息,請參閱唯一約束和 CHECK 約束。
做項目只用約束constraint就可以了