通常我们会使用exec这个函数来实现一些动态的功能,因为它执行的一个字符串语句,可以通过在字符串中添加变量来实现动态的执行语句。例如:

exec( ' insert into tbl_back(costdept,sumtotalwork1,totalmoney1)'+

' select costdept,sum(sumtotalwork) as sumtotalwork,sum(totalmoney) as totalmoney '+

' from Rpt_WorkCostYear where and '+ @conditionstr+

' group by costdept'+

' order by costdept')[@more@]

可以通过对局部变量@month1和@conditionstr的动态赋值来实现语句的动态执行。但是这样书写的时候,往往没有办法利用到查询分析器的可以自动让关键字以不同颜色显示的这一功能来进行输入时的语法判定。因为字符串统统以红色显示,这样书写时很容易错写关键字,一个小技巧可以避免这样尴尬——在编写时这样写:exec('' insert into ……即在字符串开始的界定符“'”之前再加一个“'”以抵消掉字符串界定,这样的话后面的书写就仍然可以利用查询分析器的语法检测功能了,最终完成时再去掉那个多加的“'”即可。

在SQL中使用除法的时候要特别小心,当除号两边的数都是整数时,两个数相除的结果以整数显示,结果会将相除的小数部分去掉,保留下整数部分,例如:SELECT 1/4 AS NUM 结果是0而不是0.25,这在一些复杂的表达式中尤其容易被忽略——((SELECT SUM(totalwork) FROM EmpWorkData WHERE AND SUM(totalwork) FROM EmpWorkData WHERE AND (SELECT SUM(totalwork) FROM EmpWorkData WHERE AND )由于选择语句选出的结果为整数,所以,结果并不是像预期的那样为一个实数,通常的处理方法为让某个整数乘以一个1.0,系统运算的时候会自动的将运算中的所有数据自动转换为实数进行运算,最终结果也以实数显示。例如:select 1.0*1/4 as num返回的结果就是0.25。

oracle数据库exec用法,Sql中exec的用法相关推荐

  1. oracle数据库表excel文件位置,“如何将excel表格数据导入到oracle数据库对应的表中?“数据库文件导入excel表格数据库中...

    如何实现Excel表格自动导入到数据库 库?是什么数据库?sql?access?mysql?我以sql2008为例子 1.打开SQL Server Management Studio-任务-数据 2. ...

  2. 获取oracle数据库war报告,Oracle 数据库开发及SQL基础实战

    Oracle 数据库开发及SQL基础实战 一.数据库基础 主键(Primary Key): 1.某一列或某些列的组合,构成一个主键,在这张二维表里,主键必须不重复.用于在这些行之间进行唯一的区别. 2 ...

  3. SQL中Truncate的用法

    转自:https://www.cnblogs.com/zhoufangcheng04050227/p/7991759.html 本文导读:删除表中的数据的方法有delete,truncate, 其中T ...

  4. Oracle 数据库、Microsoft SQL Server、MySQL 数据库三种常见数据库的区别深度剖析

    文章目录 前言 一.ORACLE 数据库 二.Microsoft SQL Server 数据库 三.MySQL 数据库 总结 前言 Oracle 数据库.Microsoft SQL Server.My ...

  5. oracle数据库索引介绍,SQL Server和Oracle数据库索引介绍

    SQL Server和Oracle数据库索引介绍 SQL Server 和 Oracle 数据库索引介绍1 SQL Server 中的索引 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行 ...

  6. SQL中的limit用法

    limit用法 SQL中的limit函数是用来对数据库中的字段进行限制提取的,如:一个用户表中有许多的用户信息,如果想要取出其中某个位置的某几条数据,就可以使用limit函数. 结构 limit函数结 ...

  7. oracle表中放入word,“如何将excel表格数据导入到oracle数据库对应的表中?“将excel表格导入word...

    如何将excel表格数据导入到oracle数据库对应的表中? 敢问楼主,表A几列,表B存在几列,表C存在几列 常规方法(表中列和excel中列) PLSQL 中 : select * from A u ...

  8. Oracle数据库常用基本SQL语法

    标题 Oracle数据库常用基本SQL语法 1.表的创建.插入,删除及Oracle和mysql的数据类型的区别 create table item (item_id number(5) primary ...

  9. sql去重复操作详解SQL中distinct的用法

    在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 表B: 1.作用于单列 select dist ...

  10. oracle中毒,oracle数据库中毒恢复 oracle数据库解密恢复 服务器中勒索病毒解密恢复.Hermes666...

    oracle数据库中毒恢复 oracle数据库解密恢复 服务器中勒索病毒解密恢复.Hermes666 客户名称 保密 数据类型 oracle 11G 数据容量 100 gb 故障类型 服务器中毒,文件 ...

最新文章

  1. 一加7t人脸识别_一加7T系列国行版开启预约 谷歌Pixel 4系列高清图曝光
  2. office软件的发展前景_2018年办公软件产业发展趋势
  3. 面向Java应用的快速Web服务支持工具 - Netrifex
  4. 网络病毒源的排查(2005年3月22日维护记录)
  5. 八皇后问题(回溯法)
  6. html 控制文字的标签,html里面有一个控制文字滚动的标签marquee,比较有用。
  7. JavaScript中的Array对象方法调用
  8. 用js实现分页功能以及利用xml实现分页功能——数据岛
  9. c语言程序设计对称数,c语言程序设计--对称数
  10. 多线程的概念原理过程
  11. 为什么InnoDB表要建议用自增列做主键而MyISAM不需要
  12. matlab语句运算相关论文,毕业论文MATLAB在复变函数中的应用.doc
  13. matlab随机线性微分方程,基于MATLAB的随机线性微分方程的求解
  14. 进军AR领域,这一次罗永浩能成吗?
  15. MMA7455加速度传感器測量角度
  16. 戴尔3080计算机重装系统步骤,终于发现戴尔笔记本重装系统的方法
  17. 第九届蓝桥杯国赛 调手表
  18. 手把手教你做出数据可视化项目(三)3D地球旋转
  19. docker安装dejavu
  20. This view is not constrained vertically: at runtime

热门文章

  1. 左手手型投篮姿势教程
  2. 彻底理解confidence interval和credible interval
  3. 原装MTL安全栅MTL7742
  4. perl学习笔记-----------------------(8)
  5. swing 鼠标事件
  6. table元素无法固定列宽,width设置无效
  7. 毕业论文参考文献中出版社和出版地的查询
  8. ffmpeg时间戳计算
  9. 面试系列(九):商汤科技 深度学习平台C++研发
  10. 【MYSQL】mysql.sock连接问题