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就可以了