首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ExecuteNonQuery()_sql存储过程返回值

备注:可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet...虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。...对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1 看完后才明白,原来select语句不适合ExecuteNonQuery()方法,原来是这样,方法用错了!...虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。 对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在Entity Framework中使用存储过程(四):如何为Delete存储过程参数赋上Current值?

    正是因为只有Update操作才需要显式指定映射的是实体属性值的版本(Current/Original),所以在进行实体/存储过程映射的时候,只有Update存储过程才可以选择“是否采用原始值(Use Original...反映在VS的.edmx模型设计器上就是:只有Update存储过程的参数映射才具有“Use Original Value”这个复选框。 ? 二、Delete存储参数队应的就一定是Original值吗?...但是,我们忽略掉一点:Delete存储过程一定非得执行删除操作吗?如果我进行“逻辑删除”,实际上进行的是Update操作。关于逻辑删除的实现,可以参阅我上一篇文章《逻辑删除的实现与自增长列值返回》。...但是,由于Delete存储过程默认使用的是实体对象的初始值,即使你在删除之前为Contact对象的LastUpdatedBy属性设置了新的值,该值也不可能传入到存储过程中去。...所以,我个人觉得这是EF一个值得改进的地方,让Delete存储过程和Update一样,也可以指定不同的版本。

    1.8K100

    MySQL使用存储过程批量更新数据库所有表某个字段值

    最近响应群里朋友完整开源之前那个博客系统,准备重构一番项目的代码,对数据库中的表决定都添加 create_by、update_by、create_time、update_time、del_flag 等字段...是的,没错,可以使用存储过程。...下面是对 sens_blog 这个库的所有的表中的 del_flag 设置默认值的示例 -- 如果存储过程存在就删除 DROP PROCEDURE IF EXISTS updateColumn; CREATE...-- 查询数据库sens_blog中含有del_flag列的表,如果区分大小写使用binary COLUMN_NAME = 'del_flag' DECLARE result CURSOR FOR SELECT...COLUMN del_flag SET DEFAULT  0'); PREPARE stmt FROM @execSql; EXECUTE stmt; END WHILE; END; -- 调用存储过程更新数据

    5.1K30

    在Entity Framework中使用存储过程(三):逻辑删除的实现与自增长列值返回

    本篇文章通过实例的方式,讨论两个在EF使用存储过程的主题:如何通过实体和存储过程的映射实现逻辑删除;对于具有自增长类型主键的数据表,在进行添加操作的时候如何将正确的值反映在实体对象上。...,不是就行Delete操作,而是进行Update操作,将IS_DELETED的值设置成1即可,这样的存储过程定义如下: 1: CREATE PROCEDURE P_CONTACT_D 2:...由于ID的数据类型改变了,你需要修正Update和Delete存储过程,并改变Contact的ID属性的数据类型从String编程Int32。...为了让存储过程中SELECT语句返回的结果集体现在被提交的Contact对象上,你需要设置列名(或者通过AS操作符设置的别名)与实体类型的属性之间的映射关系。...在Entity Framework中使用存储过程(三):逻辑删除的实现与自增长列值返回 在Entity Framework中使用存储过程(四):如何为Delete存储过程参数赋上Current值?

    1.7K80

    Oracle-trigger触发器解读

    ---- 触发器的概念和第一个触发器 数据库触发器是一个与表相关联的,存储的PL/SQL 语句。...当一个基表被修改( INSERT, UPDATE, DELETE)时要执行的存储过程,执行时根据其所依附的基表改动而自动触发,因此与应用程序无关,用数据库触发器可以保证数据的一致性和完整性。...DML触发器的限制: CREATE TRIGGER语句文本的字符长度不能超过32KB; 触发器体内的SELECT 语句只能为SELECT … INTO …结构,或者为定义游标所使用的SELECT 语句。...('旧的region_id值是'||:old.region_id ||'、新的region_id值是'||:new.region_id); UPDATE countries...VALUES(p_emp_id, p_start_date, p_end_date, p_job_id, p_department_id); END add_job_history; --创建触发器调用存储过程

    1.1K30

    MySQL数据库对象与应用-MySQL进阶SQL应用单元测验

    count(distinct col) D.sql语句里使用了distinct,就不能使用group by或者order by 解析:  A、分组是group by,distinct是列出唯一的不同值...5、(单选)delimiter在MySQL中的作用是: A.标识存储过程开始执行。 B.标识存储过程结束。 C.重置MySQL的命令结束符。 D.删除当前的MySQL分隔符。...B.MySQL 5.5上一张表上最多只能建两个update相关的触发器。 C.可以在一个t1表的before update触发器中执行update t1 的sql语句。...解析:  B、对于update,5.5版本只能在before和after update的时候各自建一个触发器。  C、触发器不能更新自身表的数据。  D、可以的,只要有权限。...D.上面所有都不正确。 9、(单选)有表tab(name varchar(20), id int, sal int)分别表示员工姓名、员工号、薪水,如何查找出薪水第二高的员工的薪水?

    1.5K10

    mysql 模拟试题一

    A.SELECT   B.INSERT   C.UPDATE   D.DELETE    4.在关系数据库设计中,设计关系模式是__C__的任务。    ...答案:①浪费存储空间及修改麻烦②潜在的数据不一致性    2.数据库在运行过程中可能产生的故障有____________、_______________、___________。    ...Create table 表名    Alter table 表名   Drop table 表名   2、存储过程的优点是什么?    ...存储过程的优点:    1.提高性能    2.减轻网络拥塞    3.一致性较好    4.改善安全机制   3、什么是触发器?触发器有哪几种?触发器有什么优点?    ...一个触发器是由T-SQL语句集组成的代码块,在响应某些动作时激活该语句集有insert,delete,update触发器它防止了对数据的不正确、未授权的和不一致的改变   4、常见的几种约束有哪些?

    1.1K40

    MySql数据库约束

    在InnoDB存储引擎中,域完整性可以通过以下途径来保证:   a. 选择适合的数据类型确保一个数据值满足条件   b. 外键(Foreign Key)约束   c. 编写触发器   d....对错误数据的约束   在某些默认设置下,MySql数据库允许非法或不正确的数据的插入或更新,又或者可以在数据库内部将其转化为一个合法的值,如向not null的字段插入一个null值,MySql数据库会将其更改为...触发器与约束 3.1 触发器的认识   触发器的作用是在执行insert,delete和update命令之前或之后自动调用sql命令或存储过程 3.1.1 触发器的创建 Create [definer...外键约束 外键用来保证参照完整性,MySQL数据库的MyIsAM存储引擎本身并不支持外键,对于外键的定义只是起到一个注释的作用,而InonoDB存储引擎则完整支持外键约束。...和update操作时,相应的子表中的数据被更新为NULL值,但是子表中对应的列必须允许为NULL值 (3)NO ACTION   表示父表发生delete或update操作时,抛出错误,不允许这类操作发生

    1.2K10

    MySQL5_存储过程-sql编程-函数-触发器-用户管理

    文章目录 MySQL_存储过程-sql编程-函数-触发器-用户管理 建立表 1.存储过程(procedure) (1)创建存储过程 (2)参数的类别 (3)删除存储过程 (4)查看存储过程的信息 (5)...局部变量 (6)全局变量(用户变量) (7)系统变量 (8)带有输出参数的存储过程 (9)带有输入输出参数的存储过程 2.SQL编程(了解) (1) if-elseif-else语句 (2) case-when...sid=param; end// #调用 call pro_2(5)// (2)参数的类别 在存储过程中,没有return,如果需要返回值,通过输出参数来实现 在MySQL中,参数分为3类,输入参数...*num; end// #调用 #@result 接受返回值 call pro_6(6,@result)// select @result from dual// (9)带有输入输出参数的存储过程 create...; when 4 then select '贵族' as '气质'; else select '输入不正确' as '气质'; end case; end

    1.3K20

    Mybatis二级缓存_redis二级缓存

    = null) { 如果cache存在,那么会根据sql配置(,select>,update>,的flushCache属性来确定是否清空缓存。...if (ms.isUseCache() && resultHandler == null) { 确保方法没有Out类型的参数,mybatis不支持存储过程的缓存,所以如果是存储过程,这里就会报错。...如果在UserMapper.xml中做了刷新缓存的操作,在XXXMapper.xml中缓存仍然有效,如果有针对user的单表查询,使用缓存的结果可能会不正确。...select id="selectUserRoles" resultType="UserRoleVO"> select * from user_role a,role b where a.roleid...如果使用了二级缓存,都会导致上面这个查询结果可能不正确。 如果你正好修改了这个用户的角色,上面这个查询使用缓存的时候结果就是错的。 这点应该很容易理解。

    38820

    MySQL或者MariaDB里面sql_mode的设置详解

    该模式的简单描述是当在列中插入不正确的值时“给出错误而不是警告”。注释:一旦发现错误立即放弃INSERT/UPDATE。...如果把sql_mode的值设置成后面的两个值(STRICT_TRANS_TABLES或者TRADITIONAL,也就是我们说的严格模式),那么当在列中插入或更新不正确的值时,mysql将会给出错误,并且放弃...insert/update操作。...过程中,该模式未启用的话,如果数据被零除,最终结果插入NULL并且不提示warnings该模式启用的话,如果数据被零除,最终结果插入NULL并且会提示warnings>set session sql_mode...不设置这个参数的话,找不到指定的存储引擎的话,会用默认的存储引擎替代,但会有warning提示。

    2.4K20

    Oracle应用实战八(完结)——存储过程、函数+对象曹组

    (重点) 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它...存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。...,过程和函数的区别在于函数可以有一个返回值;而过程没有返回值。...但过程和函数都可以通过out指定一个或多个输出参数。我们可以利用out参数,在过程和函数中实现返回多个值。...在触发器中触发语句与伪记录变量的值 触发语句 :old :new Insert 所有字段都是空(null) 将要添加的数据 Update 更新以前该行的值 更新后的值 delete 删除以前该行的值 所有字段都是空

    1.9K60

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券