diff --git "a/27\346\233\276\351\271\217/\345\217\230\351\207\217.md" "b/27\346\233\276\351\271\217/\345\217\230\351\207\217.md" new file mode 100644 index 0000000000000000000000000000000000000000..37980a765fab694926f4f466de65e22ea108e4eb --- /dev/null +++ "b/27\346\233\276\351\271\217/\345\217\230\351\207\217.md" @@ -0,0 +1,79 @@ +### 变量 + +#### 局部变量 + +局部变量必须以标记@作为前缀 ,如@age +局部变量的使用是先声明,再赋值 +局部变量只在定义它的局部范围内有效 + +声明一个局部变量:**declare @变量名 数据类型** + +```sql +--例: + declare @id int --声明一个名为id的整型变量 + declare @name varchar(50) --声明一个可变长度为50的存放姓名的字符串变量 + +``` + +赋值: + +- set @变量名 = 值 + +- select @变量名 = 值 + +```sql +--例: + select @id = 101 + set @name = '张花花' +``` + +set与select赋值的区别: + +set赋值给变量指定的值,select一般用于表中查询出的数据赋值给变量,如果查询结果有多条,取最后一条赋值给变量 + + + +#### 全局变量 + +全局变量必须以标记@@作为前缀,如@@version +全局变量由**系统定义和维护**,我们**只能读取,不能修改全局变量的值** +全局变量在整个SQL环境下都可以被访问或调用 + +```sql +--@@ERROR:返回执行的上一个语句的错误号 +--@@IDENTITY:返回最后插入的标识值 +--@@MAX_CONNECTIONS:返回允许同时进行的最大用户连接数 +--@@ROWCOUNT:返回受上一语句影响的行数 +--@@SERVERNAME:返回运行 SQL Server 的本地服务器的名称 +--@@SERVICENAME:返回 SQL Server 正在其下运行的注册表项的名称 +--@@TRANCOUNT:返回当前连接的活动事务数 +--@@LOCK_TIMEOUT:返回当前会话的当前锁定超时设置(毫秒) +``` + + + + + + + +## 输出语句 + +1. print变量或表达式 +2. select变量或表达式 + +```sql +--例: + print '数据库服务器名:' + @@servicename + select 15*8 +``` + + + +#### 使用convert函数 + +​ 由于PRINT 命令向客户端返回一个结果的字符串的信息。如果变量值不是字符串的话必须先用数据类型转换函数 CONVERT 将其转换为字符串。 + +```sql +--显示自动编号 +print '当前自动编号的值:' + convert(varchar(10),@@IDENTITY) +``` diff --git "a/\347\254\224\350\256\260.md" "b/27\346\233\276\351\271\217/\350\214\203\345\274\217.md" similarity index 88% rename from "\347\254\224\350\256\260.md" rename to "27\346\233\276\351\271\217/\350\214\203\345\274\217.md" index 2174880aa953b80ae3e6d4a55ae96cd1e545910f..3c51f259aba99b569de759c4b67800e1e539b1ed 100644 --- "a/\347\254\224\350\256\260.md" +++ "b/27\346\233\276\351\271\217/\350\214\203\345\274\217.md" @@ -16,6 +16,3 @@ -# 变量 - -1.定义变量:**declare @name varchar(20) 用declare定义一个名字为name的字符串类型的变量,变量前面需要加@** \ No newline at end of file diff --git "a/27\346\233\276\351\271\217/\351\200\273\350\276\221\346\216\247\345\210\266\350\257\255\345\217\245.md" "b/27\346\233\276\351\271\217/\351\200\273\350\276\221\346\216\247\345\210\266\350\257\255\345\217\245.md" new file mode 100644 index 0000000000000000000000000000000000000000..c9038630ff790035fdce1c5c1987d68fc4c925ad --- /dev/null +++ "b/27\346\233\276\351\271\217/\351\200\273\350\276\221\346\216\247\345\210\266\350\257\255\345\217\245.md" @@ -0,0 +1,29 @@ +## 逻辑控制语句 + +### if条件分支 + +``` +if 条件 +begin +语句 +end +``` + +### 循环控制语句 + +``` +while (条件) +begin +break(跳出循环)、continue(跳出当前循环) +end +``` + +#### 逻辑控制语句 + +``` +case +when 条件 then 输出 +else +end +``` +