我喜欢写C#代码,不喜欢写JS代码和SQL。相比于C#,总感觉JS和SQL写起来乱糟糟的。最近做了几个统计页面,不得不拼接很长的SQL,我总是尽量把SQL写的层次分明,容易阅读。应该还有别的实现方法,比如在数据库中写存储过程、函数,但是我不想维护数据库,在当前数据库中没有什么存储过程和函数的情况下,...
分类:
其他好文 时间:
2014-06-14 18:14:58
阅读次数:
354
——积累工作中用到的SQLORACLE中也是有类型的,可作为存储过程,函数等的输入输入出。下面看下创建。用法CREATE OR REPLACE TYPE 类型名称 AS OBJECT( 字段1 类型, 字段2 类型, 字段3 类型)例如CREATE OR REPLACE TYPE T_OBJ AS OBJECT( T_ID ...
分类:
数据库 时间:
2014-06-05 12:00:14
阅读次数:
357
创建存储过程:1 delimiter //2 create procedure
printname (id int,out name char(50) )3 begin4 select user into name from user
where id=id;5 end6 //7 delimiter...
分类:
其他好文 时间:
2014-05-23 06:11:51
阅读次数:
184
SQLSERVER中的三种获得自增长ID的方法
这个功能比较常用,所以记下来以防自己忘掉。SCOPE_IDENTITY返回插入到同一作用域中的IDENTITY列内的最后一个IDENTITY值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理...
分类:
数据库 时间:
2014-05-20 13:21:48
阅读次数:
504
/*
程序包:对相关存储过程,函数,变量,游标和异常等对象的封装
有声明和主体组成
优点:1.模块化;2.更轻松的应用程序设计;3.信息隐藏;4.性能更佳
*/
/*
触发器:当特定事件出现事自动执行的存储过程,不能被显试地调用
功能:1.自动生成数据;2.自定义复杂的安全权限;3.提供审计和日志记录;4.启用复杂的业务逻辑
*/...
分类:
数据库 时间:
2014-05-15 15:00:55
阅读次数:
430
直接上存储过程、函数
--执行不带参数但带返回值的存储过程
CREATE OR REPLACE PROCEDURE proc_getUserCount(v_totalCount OUT NUMBER) AS
BEGIN
SELECT COUNT(*) INTO v_totalCount FROM vote_user;
END;
--测试不带参数但带返回值的存储过程
DECLARE
v_t...
分类:
其他好文 时间:
2014-04-28 10:25:43
阅读次数:
461