SQL
bullswu
2005年嵌入式开发实习,后转成测试领域,擅长自动化测试以及安全渗透测试.
展开
-
ORA-00955: 鍚嶇О宸茬敱鐜版湁瀵硅薄浣跨敤
此为:ORA-00955: 名称已被现有对象占用 首先.用desc 命令看一下是否已经存在该对象(也许跟索引、序列、视图等重名了) 也可以查下:select object_name,object_type from user_objects where object_name = upper( 'yourtablename ');原创 2012-03-26 13:47:05 · 3004 阅读 · 0 评论 -
Ora-01008错误:oracle 并非所有变量都已绑定的原因
begin test.test(a => 1, b => :603);end; 执行的时候报错: Ora-01008错误:oracle 并非所有变量都已绑定 原因是 b => :603之前多了一个冒号导致他判断错误,解决方法是检查和删除不需要的冒号。原创 2012-03-22 11:13:31 · 60429 阅读 · 1 评论 -
启动数据库时提示ORA-03113: 通信通道的文件结尾解决方法
一般此错误出现的地方有:启动的Oracle的时侯;试图创建数据库的时侯;试图对数据库进行连接的时侯;在客户端正在运行SQL/PL/SQL的时侯;备份/恢复数据库的时侯;在startup后出现问题时,可以这么做:SQL> conn / as sysdbashutdown immediatestartup mount;recover database unt原创 2012-04-24 09:42:55 · 2871 阅读 · 0 评论 -
oracle的declare声明语法
declare cc integer;begin pkg_elevator_ref.sp_elevator_ref_add(i_id => 351, i_code => 'Testregist', i_asset=> n原创 2012-04-18 14:04:26 · 23261 阅读 · 0 评论 -
兼职做了DB设计和维护的体会(存储过程,视图,函数,范式)
本人虽然是做后台开发为主,但是因为接手了前台的web应用操作,对于一个前台的门外汉来说,我一直担心的是数据库读取效率的问题。所以本人在涉及逻辑层的相关问题时,大致做了一些简单的设计来规范代码。1.简单的语句尽量用web框架提供的增删改查,例如我使用django框架时候就尽量用他的object来操作而不用python带的execute来做。2.尽量让数据库语句在存储过程或原创 2014-01-10 23:22:37 · 1149 阅读 · 0 评论 -
对比视图和存储过程的使用和学习体会进行选择。
在这几天应用和学习的过程中,总结下这2个应用比较多的数据库封装方式。1.视图主要是针对select的动作,同时他不能做逻辑判断处理,因为视图的作用在于方便做出查询,为了安全性,把多个表通过视图的组合把查询结果返回给用户。2.我在作不同角色用户查询信息初期,考虑过用视图来针对不同用户返回不同的信息。3.就是简化了很多用户的操作,我使用视图或者存储过程的原因就是为了让上层的代码简化原创 2014-01-14 00:10:49 · 3227 阅读 · 1 评论 -
数据库的一些基础研究和性能探讨(触发器)
一直没有机会使用到触发器,但是在一个偶然的情况下,我在做用户同步和权限删除时我想起了这个功能。在设计数据库的时候,我往往都走进一个怪圈,可能就是应了一个数据库的前辈所说的:开发数据库的思维和方式不能用开发其他模块的思维方式来做,可惜当时我只是一个后台开发工程师,并没有深刻去了解。现在我发现很多地方在选择哪里该封装,哪里该用那种封装,是视图,函数,存储过程,我都往往会偏向于存储过程,因为原创 2014-01-16 23:37:21 · 3194 阅读 · 0 评论 -
SQL JOIN 简单介绍
join分为两种,inner join和outer join,其中outer join分为三种,left outer join, right outer join, full outer join,另外left outer join又简称为left join即大家所熟知的左连接。 各种join的区别 在介绍各种join的区别之前,我们先来看一个简单的示例: 场景描述:转载 2014-05-02 22:34:13 · 918 阅读 · 1 评论