sql的set
A. sql set语句
如果你说的是SQL语句的话,那么我从来没见过set check的命令。。Alter table是有几种带SET关键字的子形式,常用的有SET DEFAULT为字段设置缺省值,SET NOT NULL 设置字段非空等。这里的约束是用ADD CONSTRAINT子形式创建的如:
ALTER TABLE 评分
ADD CONSTRAINT CK_1 /*为约束指定一个名称*/
CHECK /*CHECK关键字,约束*/
( 分数 >=0 and 分数<=0) /*CK_1约束的内容*/
楼主说的SET关键字常用于修改表数据的UPDATE语句中。而ALTER TABLE是对表的修改,表和表数据之间是不同的。
希望对你能有所帮助。
B. SQL中的SET是什麽意思
set
echo
off
是设置不把输出的结果显示在屏幕上。
echo
指的就是这个输出。
C. SQL 语句里set是什么意思啊
Update
表名
Set
FieldName
=
Value
。
就是设置当前表的某个字段等于某个值,就是给字段
赋值。
D. sql中的存储过程set是什么意思
由双引号分隔的标识符可以是 Transact-SQL 保留关键字,或者可以包含 Transact-SQL 标识符语法规则通常不允许的字符。 语法SET QUOTED_IDENTIFIER { ON | OFF }注释当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须遵守所有 Transact-SQL 标识符规则。有关更多信息,请参见使用标识符。文字可以由单引号或双引号分隔。 当 SET QUOTED_IDENTIFIER 为 ON 时,由双引号分隔的所有字符串都被解释为对象标识符。因此,加引号的标识符不必遵守 Transact-SQL 标识符规则。它们可以是保留关键字,并且可以包含 Transact-SQL 标识符中通常不允许的字符。不能使用双引号分隔文字字符串表达式,而必须用单引号括住文字字符串。如果单引号 (') 是文字字符串的一部分,则可以由两个单引号 ('') 表示。当对数据库中的对象名使用保留关键字时,SET QUOTED_IDENTIFIER 必须为 ON。 当 SET QUOTED_IDENTIFIER 为 OFF(默认值)时,表达式中的文字字符串可以由单引号或双引号分隔。如果文字字符串由双引号分隔,则可以在字符串中包含嵌入式单引号,如省略号。 当在计算列或索引视图上创建或操作索引时,SET QUOTED_IDENTIFIER 必须为 ON。如果 SET QUOTED_IDENTIFIER 为 OFF,则计算列或索引视图上带索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 语句将失败。有关计算列上的索引视图和索引所必需的 SET 选项设置的更多信息,请参见 SET 中的使用 SET 语句时的注意事项。 在进行连接时,SQL Server ODBC 驱动程序和用于 SQL Server 的 Microsoft OLE DB 提供程序自动将 QUOTED_IDENTIFIER 设置为 ON。这可以在 ODBC 数据源、ODBC 连接特性或 OLE DB 连接属性中进行配置。对来自 DB-Library 应用程序的连接,SET QUOTED_IDENTIFIER 设置默认为 OFF。 当创建存储过程时,将捕获 SET QUOTED_IDENTIFIER 和 SET ANSI_NULLS 设置,用于该存储过程的后续调用。 当在存储过程内执行 SET QUOTED_IDENTIFIER 时,其设置不更改。 当 SET ANSI_DEFAULTS 为 ON时,将启用 SET QUOTED_IDENTIFIER。 SET QUOTED_IDENTIFIER 还与 sp_dboption 的 quoted identifier 设置相对应。如果 SET QUOTED_IDENTIFIER 为 OFF,则 SQL Server 使用 sp_dboption 的 quoted identifier 设置。有关数据库设置的更多信息,请参见 sp_dboption 和设置数据库选项。 SET QUOTED_IDENTIFIER 是在分析时进行设置的。在分析时进行设置意味着:SET 语句只要出现在批处理或存储过程中即生效,与代码执行实际上是否到达该点无关;并且 SET 语句在任何语句执行之前生效。 比较空值时必须小心。比较行为取决于选项 SET ANSI_NULLS 的设置。 当 SET ANSI_NULLS 为 ON 时,如果比较中有一个或多个表达式为 NULL,则既不输出 TRUE 也不输出 FALSE,而是输出 UNKNOWN。这是因为,未知值不能与其它任何值进行逻辑比较。这种情况发生在一个表达式与 NULL 单词进行比较,或者两个表达式相比,而其中一个表达式取值为 NULL 时。例如,当 ANSI_NULLS 为 ON 时,以下比较总是输出 UNKNOWN: ytd_sales NULL 只要变量包含 NULL 值,下列比较也输出 UNKNOWN: ytd_sales @MyVariable 使用 IS NULL 或 IS NOT NULL 子句测试 NULL 值。这将增加 WHERE 子句的复杂性。例如,表 Northwind Customers 中的 Region 列允许空值。如果使用 SELECT 语句不仅测试其它值还测试空值,则必须包括 IS NULL 子句: SELECT CustomerID, CompanyName, Region FROM Northwind.dbo.Customers WHERE Region IN ('WA', 'SP', 'BC') OR Region IS NULL Transact-SQL 支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE。通过设置 ANSI_NULLS OFF 可将该选项激活。当 ANSI_NULLS 为 OFF 时,如果 ColumnA 包含空值,则比较操作 ColumnA = NULL 返回 TRUE;如果 ColumnA 除包含 NULL 外还包含某些值,则比较操作返回 FALSE。此外,两个都取空值的表达式的比较也输出 TRUE。当 ANSI_NULLS 设置为 OFF 时,SELECT 语句将返回 Customer 表中所有 Region 为空值的行: SELECT CustomerID, CompanyName, Region FROM Northwind.dbo.Customers WHERE Region = NULL 涉及 NULL 的计算均取值为 NULL,这是因为只要有一个因子为未知,结果肯定是 UNKNOWN。例如,如果 column1 为 NULL,则 column1 + 1 取值为 NULL。
E. SQL Server中的Set问题:急
set
相当于赋值
。。你这句就相当于赋值 变@date
比如
我们在update的时候一样会用那个到set
就是要把一个
值赋值给一个变量的时候用到的
比如update 表一
set
name
='scl'
其实set就是在提示sql这个是个赋值语句 让编译器知道
然后把
scl的值赋值给name
F. Sql中的set和select赋值方式的区别
最近的项目写的SQL比较多,经常会用到对变量赋值,而我使用SET和SELECT都会达到效果。
那就有些迷惑,这两者有什么区别呢?什么时候哪该哪个呢?
经过网上的查询,及个人练习,总结两者有以下几点主要区别:
假定有设定变量:
复制代码 代码如下:
DECLARE @VAR1 VARCHAR(1)
DECLARE @VAR2 VARCHAR(2)
1、SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值,如下:
复制代码 代码如下:
SELECT @VAR1='Y',@VAR2='N'
-- 而SET要达到同样的效果,需要:
SET @VAR1='Y'
SET @VAR2='N'
/*
说到这个,SQL内置的变量:@@ERROR 和 @@ROWCOUNT必须要在一句SQL语句中捕获。如果用set分两句来获取它们,将获取不完整,这时就应该用select来获取值。
*/
2、表达式返回多个值时,用SET将会出错,而SELECT将取最后一个值,如下:
复制代码 代码如下:
----以下假定Permission表有多个IsRight记录
SELECT @VAR1 = IsRight FROM Permission --将取最后一个值
SET @VAR1 = IsRight FROM Permission --将报错
3、表达式无返回值时,用SET将置变量值为NULL,用SELECT交保持变量值,如下:
复制代码 代码如下:
----以下假定Permission记录为空
SET @VAR1 = '初始值'
SELECT @VAR1 = IsRight FROM Permission --此时@VAR1为'初始值'
SET @VAR1 = (SELECT IsRight FROM Permission) --此时@VAR1为NULL
4、使用标量子查询时,如果无返回值,SET和SELECT一样,都将置为NULL,如下:
复制代码 代码如下:
----以下假定Permission记录为空
SET @VAR1 = '初始值'
SELECT @VAR1 =(SELECT IsRight FROM Permission ) --此时@VAR1为NULL
SET @VAR1 = ( SELECT IsRight FROM Permission) --此时@VAR1为NULL
G. SQL裏面set命令怎么使用
set在sql里相当于赋值的作用 set a = b 就是让a的值等于b,大多情况下都可以用select来代替
如select a = b。
但是只有在update 的语句里必须用set,而不能写成update table select column = a (这个是错误的写法)
必须是update table set column = a
H. SQL语句 set
SET是SQL Server 中对已经定义的变量赋值的方式。
示例:
语法:
UPDATE表名称SET列名称=新值WHERE列名称=某值
table1
I. SQL中SET和SELECT的区别,说通俗点
select是查询,只是把表中的数据显示出来给你看。例:select
姓名
from
表1(查询表1里面的姓名字段)
set是设置值,一般配合update更新用。例:update
表1
set
姓名=小明
(把表1的姓名字段设置为小明)