SQL
项目中的报错处理及个人学习笔记
Vincy.Zhang
此人不懒很勤快
展开
-
SQL向同一张表复制数据,仅改动个别栏位
【代码】SQL向同一张表复制数据,仅改动个别栏位。转载 2023-01-09 16:09:25 · 953 阅读 · 0 评论 -
SQL 报错:Cannot resolve the collation conflict between
执行SQL遇到这个报错,在SQL最后加上‘(collate Chinese_PRC_CI_AS))’原创 2022-11-16 08:45:39 · 837 阅读 · 0 评论 -
SQL Server中的isnull()函数:
如果在select中就是isnull可以判断是否是null,如果是给个默认值,isnull(“字段名”,“设定默认的数据”)来自:https://blog.csdn.net/qq_41844424/article/details/103071951。原创 2022-11-16 08:43:11 · 408 阅读 · 0 评论 -
SQL varchar与datetime的相互转换
【代码】SQL varchar与datetime的相互转换。转载 2022-11-16 08:42:39 · 1132 阅读 · 0 评论 -
SQL 特殊情况下的排序(采用order by +case when)
例如 在A='test’的情况下,B=1排前面。再 A=‘test’,B=2 排在第二,再 A=‘test’,B=其他 排在第三。转载 2022-11-15 15:06:13 · 428 阅读 · 0 评论 -
SQL存储过程发邮件参数详解
虽然此参数是可选参数,但是必须至少指定@recipients、@copy_recipients 或 @blind_copy_recipients 中的一个,否则sp_send_dbmail 将返回错误。虽然此参数是可选参数,但是必须至少指定@recipients、@copy_recipients 或 @blind_copy_recipients 中的一个,否则sp_send_dbmail 将返回错误。请注意,查询在单独的会话中执行,所以调用sp_send_dbmail 的脚本中的局部变量不可用于查询。原创 2022-11-15 14:39:30 · 757 阅读 · 0 评论 -
【报表Reporting Service】
服务器名\群组名,这个要去服务器配置 Computer Manage,Local User and Group ,New Group(从域选择,再打包)1.Datasource 指定报表链接哪个数据库。2.查询报表,用SQL或存储过程。原创 2022-11-15 11:30:53 · 195 阅读 · 0 评论 -
SQL报错:Ambiguous column name ‘数据库某列’
如果A和B表中都有SCORE字段,这时就会出现ambiguous column name ‘SCORE’ 这个错误。原创 2022-11-15 11:28:13 · 2604 阅读 · 0 评论 -
【SQL】提示:saving changes is not permitted
2. 选择Tools–>Options–>Designers–>Table and Database Designers ,去掉Prevent saving changes that require table re-creation .数据库提示:saving changes is not permitted。1.回到SQL Server Studio(SSMS)首页。不要捉急,这是因为你设置了保存修改时重建表(一般是默认的)修改数据库表的时候,无法选择保存,原创 2022-11-15 11:26:46 · 722 阅读 · 0 评论 -
SQL:String or binary data would be truncated
原因:是因为数据库中定义的字段长度比较小,在插入或者更新的时候,用一个比这个字段长度大的值去操作,就会引起这个错误。背景步骤:在执行插入语句时,会提示上面的error。原创 2022-11-15 11:23:52 · 1000 阅读 · 0 评论 -
string SQL中再加单引号
SQL语句里需要包含引号时,必须进行转义,最简单的办法是将每个需要引用的引号写成两个引号。转载 2022-11-15 11:12:22 · 347 阅读 · 0 评论 -
SQL 复制表以及表中的数据
【代码】SQL 复制表以及表中的数据。原创 2022-10-14 08:40:20 · 553 阅读 · 0 评论 -
SQL清除一张表里的重复数据
【代码】SQL清楚一张表里的重复数据。原创 2022-10-14 08:33:30 · 644 阅读 · 0 评论 -
【两种DbParameter的使用方式】防止SQL注入 C# MVC
1.第一种方法就是在使用conn的情况下,使用动态参数dapper来代替SQL拼接。2.第二种方法就是使用DbParameter(在有database的情况下)2.2参数较多,则用一个List。2.1 需要的参数不多的时候。原创 2022-10-08 14:06:21 · 1776 阅读 · 0 评论 -
profile name is not valid--查看当前SERVER的profile name配置
背景:执行存储过程发邮件报错,报错为:‘profile name is not valid’,即当前存储过程中写入的profile name与配置的不同,需要参考配置的profile name进行修改。2.点击Management-右键选择Database email-选择Configure Database email。1.打开SQL SERVER ,连接到服务器。4.在这里就能看到了。原创 2022-09-22 17:34:51 · 707 阅读 · 0 评论 -
SQL的四种连接查询
今天在做招标系统的时候,想通过招标编号把投标商、评分项、评标专家几个表中相关联的字段查询出来。一般以往的做法是把这些字段放到一张视图里,但现在我只是想看看查询出来的结果是否与测试操作相符,没必要建一张视图,于是就想到了今天我们要说的这几种连接,下面以SQL中的一个小Demo为例进行说明: &n...转载 2022-03-29 17:05:33 · 1948 阅读 · 0 评论 -
SQL获取其他表里的字段名并作为数据存到总表
3.用while循环将临时表信息插入总表(insert语句根据具体情况而定)1.根据表名,先获取指定表里的字段,查询结果存储为临时表(加ID列)2.查询刚刚生成临时表的数据条数,记下后面要用。原创 2022-02-08 16:50:42 · 1427 阅读 · 0 评论 -
SQL索引
SQL索引基本概念What:对数据库表中一个或多个列的值进行排序的结构,是一个单独的,物理的数据库结构在进行数据检索时,系统首先搜索索引页面,从中找到所需数据的指针,然后直接通过该指针从数据页面读取数据,从而提高查询速度优点:唯一性索引,保证每一行数据的唯一性加快数据检索速度,减少查询中分组和排序的时间表与表之间的连接,实现数据的参考完整性缺点:创建和维护索引耗费时间索引需要占用物理空间增删改时,索引也要动态维护,减慢了数据的修改速度分类主要分为聚集索引(C原创 2021-04-23 16:30:20 · 100 阅读 · 0 评论 -
SQL——聚合与排序
SQL——聚合与排序对表进行聚合查询what:聚合,将多行汇总成一行,输入多行输出一行;用于汇总的函数,称为聚合函数输入值称为参数papameter,输出值称为返回值如:COUNT:计算表中记录数(行数)SUM:计算表中数值列中数据的合计值AVG:计算表中数值列中数据的平均值MAX:求出表中数值列中数据的最大值MIX:求出表中数值列中数据的最小值COUNT:SELECT COUNT(*) FROM 表名;//计算表中全部数据的行数,会得到包含空行NULL的总行数//注意其他函原创 2021-04-23 14:08:36 · 497 阅读 · 0 评论 -
SQL 事务
SQL 事务事务的概念What:一系列语句构成的逻辑工作单元,以保证在对数据操作的中数据的完整性,不会出现,数据操作只完成了一半的现象。四种属性,ACID:原子性(Atomic),事务是一个整体工作单元,要么全部执行,全部取消,失败则全部回滚一致性(Consistency),在完成时,所有数据保持一致状态隔离性(Isolated),事务查看数据的状态,要么是修改后,要么是修改前。不能是修改进行时,也不能在运行时去修改状态持久性(Durability),对数据库完成的修改是永久保存的原创 2021-04-21 16:25:04 · 120 阅读 · 0 评论 -
SQL游标
SQL游标基本概念游标是:一种方法,获取一组数据,一次单独与一个数据进行交互一种数据访问机制,它允许用户访问单独的数据行。使结果集的内容可用于其它T_SQL语句。在查看或处理结果集中向前或向后浏览数据的功能。用户可以对每一行进行单独的处理,从而降低系统开销和潜在的阻隔情况,用户也可以使用这些数据生成的SQL代码并立即执行或输出。类似与C语言中的指针,它可以指向结果集中的任意位置,当要对结果集进行逐条单独处理时,必须声明一个指向该结果集中的游标变量。来源链接分类:静态游标,游标打开原创 2021-04-21 10:29:06 · 141 阅读 · 0 评论 -
SQL 触发器
SQL 触发器概述触发器是一种特殊类型的存储过程,当表中数据发生变化时(如插入,删除,修改)触发器自动生效 不能通过名称被直接调用,更不允许设置参数不论触发器所进行的操作有多复杂,触发器都只作为一个独立单元被执行,被看作一个事务 如果触发器在执行中发生了错误,则整个事务将自动回滚触发器的作用就是当你在用户表中插入一条数据之后帮你在日志表中插入一条日志信息。引用来源类型:DML触发器:AFTER触发器,在执行INSERT,UPDATE,DELETE语句操作之后触发,可设置哪原创 2021-04-20 14:44:30 · 153 阅读 · 0 评论 -
SQL查询基础
SQL查询基础SELECT语句基础查询(query):通过SELECT语句查询并选取出必要数据的过程SELECT 列名,列名...FROM 表名;SELECT,FROM是两个子句子句是SQL语句组成要素查询多列时,需要使用逗号进行分隔查询结构中列的顺序和SELECT子句中的顺序相同想要查出全部列,可以使用*号,它代表全部列的意思;但如果使用 * 号,就无法设定列的显示顺序SELECT *FROM 表名;使用AS关键字为查询出的列设置别名别名可以使用中文,使用中文时原创 2021-04-20 11:15:27 · 87 阅读 · 0 评论 -
SQL创建删除和更新
SQL创建删除和更新数据库,表,列的命名规则只能使用,半角英文字母,数字,下划线,这三种字符名称必须以半角英文字母开头数据库不能重名,在同一个数据库中不能创建两个同名表,一个表中也不能有两个同名列数据库的创建CREATE DATABASE 数据库名表的创建CREATE TABLE 表名(列名1 数据类型1 约束1如null,key 列名2 数据类型2 约束2如null,key ......)数据类型INTEGER:存储整数CHAR:以定长字符串格式 存原创 2021-04-19 17:32:50 · 194 阅读 · 0 评论 -
SQL存储过程
SQL存储过程What:存储过程(Stored Procedure):是预编译SQL集合,是数据库服务器端执行T-SQL语句集合。作为一个单元进行处理,并由一个名称来标识(用户通过名称和参数来调用存储过程)。作用:查询,插入,删除,更新,向用户返回数据,执行函数,管理…存储过程在创建时已被编译,每次执行不需要重新编译。Types:1:管理和显示有关数据库和用户信息存储过程2:用户采用SQL语句创建存储过程3:通过编程语言创建外部例程创建1.数据库→资源管理器→可编辑性→原创 2021-04-19 16:11:08 · 66 阅读 · 0 评论 -
数据库基础概述
数据库基础概念数据库(DB Database):将大量数据保存起来,可以高效访问的数据集合数据库管理系统(DBMS Database Management System):管理数据库的计算机系统Excel→移动硬盘SQL→网盘(允许多人同时安全简单地操作数据)DBMS的种类:层次数据库(HDB Hierarchical Database):把数据通过层次结构(树形结构)的方式表现出来关系数据库(RDB Relational Database):=多张表+各表之间的关系和Exc原创 2021-03-25 10:53:47 · 92 阅读 · 0 评论 -
SQL:直接在数据库 删除某一行 导致ID顺序错乱
SQL:直接在数据库 删除某一行 导致ID顺序错乱解决:新建查询,dbcc checkident(‘Female’,reseed,16);//(表名,reseed,上次结束的ID号)原创 2021-03-24 16:12:41 · 745 阅读 · 4 评论 -
Sql异常:已有打开的与此Command相关联DataReader
原因:DataReader 在打开使用时,一个 SqlConnection 只允许打开一个 DataReader,在开启另一个 DataReader 时,必须将前面一个先 Close 掉。使用数据库更新或插入语句时,通常用 SqlCommand 的 ExecuteNonQuery() 方法,并且定义了一个公共的数据库连接,每次查询时都生成新连接不会有这个问题,但会占用高的数据库资源。这种情况下,内部会生成一个空的 DataReader 对象,当前的数据库连接关闭掉后,该 DataReader 才会释放。.原创 2021-03-24 16:10:18 · 1027 阅读 · 1 评论 -
SQL中 向指定的某一行的某一列插入值
才知道insert 不支持where。想在SQL中向指定的某一行的某一列插入值。尝试用update看看:update table set 要修改的列名=xx where 条件列筛选 = ?如:string sql ="update userinfo set password='{0}' where name='{1}' "; //填充SQL语句 sql1 = string.Format(...原创 2020-02-18 12:02:20 · 6167 阅读 · 2 评论