diff --git "a/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\270\211\350\212\202 \345\217\230\351\207\217\344\275\234\344\270\232/\345\217\230\351\207\217\344\275\234\344\270\232.md" "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\270\211\350\212\202 \345\217\230\351\207\217\344\275\234\344\270\232/\345\217\230\351\207\217\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..6a881e7e78404fb6b7b710c3f0df99aaf2a4a3b5 --- /dev/null +++ "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\270\211\350\212\202 \345\217\230\351\207\217\344\275\234\344\270\232/\345\217\230\351\207\217\344\275\234\344\270\232.md" @@ -0,0 +1,95 @@ +``` +create database Project +go + +use Project +go + +--职工表 +create table Staff +( + SId int primary key identity(1001,1),--职工号 + Sname varchar(20) ,--姓名 + +) +insert Staff values +('齐光明'), +('李思岐'), +('鞠明亮'), +('葛宇宏') + + + + +--工程表 +create table Engineer +( + EId varchar(20) primary key ,--工程号 + EName varchar(20) ,--工程名称 + +) +insert Engineer values +('A1','花园大厦'), +('A2','立交桥'), +('A3','临江饭店') + + + +--职务表 +create table Post +( + PId int primary key identity(101,1),--职务Id + SId int references Staff(SId),--职工号(外键) + PName varchar(20),--职务 + Hourwage money ,--小时工资率 + +) +insert Post values +('1001','工程师','65'), +('1004','律师','60'), +('1003','工人','55'), +('1002','技术员','60'), +('1002','技术员','60') + + + + + +--工时表 +create table Worktime +( + WId int primary key identity(1101,1),--工时Id + SId int references Staff(SId),--职工号(外键) + EId varchar(20) references Engineer(EId),--工程号(外键) + PId int references Post(PId),--职务Id + WTime int ,--工时 + Hourwage money ,--小时工资率 + Salary money ,--实发工资 + +) +insert Worktime values +('1001','A1','101','65','13','845'), +('1001','A2','101','65','15','975'), +('1002','A1','104','60','16','960'), +('1002','A3','104','60','18','1080'), +('1003','A2','103','55','17','935'), +('1004','A1','102','60','16','1140'), +('1004','A3','104','60','14','840') + + +select * from Staff +select * from Engineer +select * from Post +select * from Worktime + + + +--A1总工资 + +declare @Gz int + +select @Gz=sum(Salary) from Worktime where EId='A1' + +print @Gz +``` + diff --git "a/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\270\200\351\242\230.md" "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\270\200\351\242\230.md" new file mode 100644 index 0000000000000000000000000000000000000000..bda145656382c12c5fe595c419d543e1b2a0076f --- /dev/null +++ "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\270\200\351\242\230.md" @@ -0,0 +1 @@ +![第一题](C:\Users\浮华如往昔\Desktop\ER作业\第一题.png) \ No newline at end of file diff --git "a/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\270\200\351\242\230.png" "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\270\200\351\242\230.png" new file mode 100644 index 0000000000000000000000000000000000000000..e323e49fe821e2aaad55d3166dd6aab447107679 Binary files /dev/null and "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\270\200\351\242\230.png" differ diff --git "a/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\272\214\351\242\230.md" "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\272\214\351\242\230.md" new file mode 100644 index 0000000000000000000000000000000000000000..363a771251545bdd16f07ca23da6e2d4fff579d1 --- /dev/null +++ "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\272\214\351\242\230.md" @@ -0,0 +1,84 @@ +![第二题](C:\Users\浮华如往昔\Desktop\ER作业\第二题.png) + +``` +create database Banks +go +use Banks +go + +--账号信息表 +create table BUser +( + UserId int primary key identity(1,1),--账户Id + UserName varchar(20) --账户姓名 + +) +insert BUser values +('张三'), +('李四'), +('王五') + + +--银行卡表 +create table Bank +( + BId int primary key identity(101,1), --卡号Id + Bpwd int , --银行卡密码 + BCard int ,--银行卡号 + UserId int references BUser(UserId) --账号Id + +) + +insert Bank values +('123456','11223344','1'), +('123455','11223345','2'), +--('123454','11223346','1'), +('123453','11223347','3') + + +--交易信息表 +create table Deal +( + DealId int primary key identity(201,1),--交易信息Id + Dsave varchar(20) not null,--存钱 + Dborrow varchar(20) not null,--取钱 + BId int references Bank(BId), --银行卡Id + UserId int references BUser(UserId) ,--用户Id + +) +insert Deal values +('存入50000','取出300','101','1'), +('存入60000','取出3000','102','2'), +('存入99000','取出60000','103','3') + +--转账信息表 +create table TDeal +( + TDId int primary key identity(301,1), --转账Id + Transfer varchar(20) not null, --转账记录 + BId int references Bank(BId), --银行卡Id + UserId int references BUser(UserId),-- 用户Id + + +) +insert TDeal values +('转出5000','101','1'), +('转入8000','102','2'), +('转出50000','103','3') + + +--状态信息表 +create table Statu +( + StId int primary key identity(401,1),--状态Id + Statuss varchar(20) not null check(Status in ('正常','冻结','挂失','注销')),--状态 + BId int references Bank(BId), --银行卡Id + UserId int references BUser(UserId),--用户Id + +) +insert Statu values +('正常','101','1'), +('挂失','102','2'), +('冻结','103','3') +``` + diff --git "a/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\272\214\351\242\230.png" "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\272\214\351\242\230.png" new file mode 100644 index 0000000000000000000000000000000000000000..2bbc8f2313c7f586b6a80a22490aa6ea0c98bad1 Binary files /dev/null and "b/25\346\235\250\344\270\260\345\215\216/\344\275\234\344\270\232/\347\254\254\344\272\214\350\212\202 ER\344\275\234\344\270\232/\347\254\254\344\272\214\351\242\230.png" differ diff --git "a/25\346\235\250\344\270\260\345\215\216/\347\254\224\350\256\260/\347\254\254\344\270\211\350\212\202\350\257\276 \345\217\230\351\207\217 .md" "b/25\346\235\250\344\270\260\345\215\216/\347\254\224\350\256\260/\347\254\254\344\270\211\350\212\202\350\257\276 \345\217\230\351\207\217 .md" new file mode 100644 index 0000000000000000000000000000000000000000..e27339b321dc798dcc030be818ce4f0c969d998a --- /dev/null +++ "b/25\346\235\250\344\270\260\345\215\216/\347\254\224\350\256\260/\347\254\254\344\270\211\350\212\202\350\257\276 \345\217\230\351\207\217 .md" @@ -0,0 +1,105 @@ +### 一,局部变量(==declare==) + +#### 1,声明 + +* 使用declare语句定义,并且指定变量的数据类型 +* 使用set或select语句初始化变量 +* **局部变量必须以‘’@‘’开头,必须先声明后使用** + +#### 2,格式 + +```sql +declare @变量名 变量类型[,@变量名 变量类型...] + +``` + +* **变量类型可以是SQL Server支持的所有数据类型,但对于局部变量text,ntext,image数据类型无效** +* 局部变量是字符型,则一定要在变量类型中指明最大长度(否则系统认为其长度为1) +* 局部变量不能使用‘’变量‘’=‘’变量值‘’ + + + +##### (1)初始化;(==select或set==) + +```sql +select @局部变量=变量值 +set @局部变量=变量值 +``` + +* ==select可以同时为多个变量赋值== + + ```sql + declare @变量名1 变量类型1[,@变量名2 变量类型2,@变量名3 变量类型3...] + select @变量名1=变量值1,@变量名2=变量值2,@变量名3=变量值3.... + ``` + +* ==set一次只能给一个变量赋值== + + ```sql + declare @变量名1 变量类型1[,@变量名2 变量类型2,@变量名3 变量类型3...] + set @变量名1=变量值1 + set @变量名2=变量值2 + set @变量名3=变量值3.... + ``` + + + +##### (2)局部变量输出(==select或print==) + +```sql +select @局部变量[,局部变量...] +print @局部变量 +``` + +##### (3)局部变量作用域 + +* 可以引用该变量的Transact-SQL语句的范围,变量的作用域从声明变量的地方开始到声明变量的批处理或储存过程的结尾 +* 变量也可以作用于查询条件来完成对数据表的查询,修改和删除 + + + +### 二,全局变量 + +* 系统内部的变量,用户无法定义与赋值 +* 作用范围并不局限某一程序,任何程序均可随意调用 +* 通常储存一些SQL Server的配置设置值 +* **全局变量名字前要有两个‘’@@‘’** +* 不能定义与全局变量同名的局部变量 + +#### 1,全局变量的符号及其功能 + +| 全局变量 | 功能 | +| ----------------- | -------------------------------------------------------- | +| @@CONNECTIONS | 最近一次启动以来登录或试图登录的次数 | +| @@CPU_BUSY | 最近一次启动以来CPUServer的工作时间 | +| @@CURRSOR_ROWS | 返回在本次连接最新打开的游标中的行数 | +| @@DATEFIRST | 返回SETDATEFIRST参数的当前值 | +| @@DBTS | 当前数据库中Timestamp数据类型的当前值 | +| @@ERROR | 系统生成的最后一个错误,若为0则成功 | +| @@FETCH_STATUS | 最近一条FETCH语句的标志 | +| @@IDENTITY | 保存最近一次的插入行的标识列的列值 | +| @@IDLE 自CPU | 服务器最近一次启动以来的累计空闲时间 | +| @@IO_BUSY | 自CPU服务器最近一次启动以来服务器输入/输出操作的累计时间 | +| @@LANGID | 当前使用的语言的ID | +| @@LANGUAGE | 当前使用语言的名称 | +| @@LOCK TIMEOUT | 返回当前锁的超时设置 | +| @@MAX_CONNECTIONS | 同时与SQL Server相连的最大连接数量 | +| @@MAX_PRECISION | 十进制与数据类型的精度级别 | +| @@NESTLEVEL | 当前调用存储过程的嵌套级,范围为0~16 | +| @@OPTIONS | 返回当前SET选项的信息 | +| @@PACK RECEIVED | 所读的输入包数量 | +| @@PACKET_SENT | 所写的输出包数量 | +| @@PACKET_ERRORS | 读与写数据包的错误数 | +| @@RPOCID | 当前存储过程的ID | +| @@REMSERVER | 返回远程数据库的名称 | +| @@ROWCOUNT | 最近一次查询涉及的行数 | +| @@SERVERNAME | 本地服务器名称 | +| @@SERVICENAME | 当前运行的服务器名称 | +| @@SPID | 当前进程的ID | +| @@TEXTSIZE | 当前最大的文本或图像数据大小 | +| @@TIMETICKS | 每一个独立的计算机报时信号的间隔(ms)数 | +| @@TOTAL_ERRORS | 读写过程中的错误数量 | +| @@TOTAL_READ | 读磁盘次数 | +| @@TOTAL_WRITE | 写磁盘次数 | +| @@TRANCOUNT | 当前用户的活动事务处理总数 | +| @@VERSION | 当前SQL Server的版本号 | \ No newline at end of file