易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : sql

SQL语句示例

 --查询数据
SELECT *
from main_table;
--添加属性
ALTER TABLE main_table
ADD AcctStop_Time SMALLDATETIME NULL;
--插入新数据
INSERT INTO main_table(Digital_ID, Letter_ID, User_Password, On_Line, IP, AcctStop_Time, FriendTable_UpdaeTime)
VALUES(10000000 + IDENT_CURRENT('main_table') + IDENT_INCR('main_table'), 'ttl', 666666, 0, 192168001025, GetDate(),GetDate());
--修改行信息
UPDATE main_table
SET Digital_ID = 1000000+3, Letter_ID = 'ttoob'
WHERE Digital_Mark = 3
--添加唯一性约束
ALTER TABLE main_table
ADD CONSTRAINT user_id_key UNIQUE(Digital_ID);
--删除唯一性约束
ALTER TABLE main_table
DROP CONSTRAINT user_id_key
--获得表结构       SQLServer2000下可用。
exec   sp_columns   '表名' ......

Insert into select SQL跨数据库复制数据


转自:明夜星空 -- Insert select 带选择复制一张表到另一张表
使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。
1.INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value]
[]为可选内容
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:
insert into tjjrmx(yybh,xh,tjxmbh,jg,sfyx,zhxmbh,tjksbh,jcrq,jcys,ts,ckfw,disporder)
      select '24',xh,tjxmbh,jg,sfyx,zhxmbh,tjksbh,jcrq,jcys,ts,ckfw,disporder from tjjrmx where yybh = 5
2.SELECT INTO from语句
      语句形式为:SELECT vale1, value2 into Table2 from Table1
      要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:
3.从一个数据库到另一个数据库
        语句形式为:insert into 数据库名.框架名.表名(列名) select (列 ......

Oracle扩展PL/SQL简介(六)

8.    bulk collect /forall
使用bulk collect可以成块地读取数据,它可使SQL引擎在返回输出结果给PL/SQL引擎之前大批绑定输出集合。这样可以一次性地把数据动态地装载到集合中,但bulk collect需要大量内存。bulk collect可用于select into、fetch into和returning into语句中。
●    select into中使用bulk collect
declare
  type t_email is table of employees.email%type;
  v_email_list t_email;
begin
  select email bulk collect
    into v_email_list
    from employees
   where department_id = 50;
  dbms_output.put_line('获取email地址数:' || v_email_list.count);
end;
/
获取email地址数:45
●    fetch into 中使用bulk collect
declare
  type t_emp is table of employees%rowtype;
  v_emp_list t_emp;
  cursor c_emp is
    select * from employees where department_id = 50;
begin
  open c_emp;
  --在fetch into中使用bulk collect
  fetch c_emp bu ......

Oracle扩展PL/SQL简介(六)

8.    bulk collect /forall
使用bulk collect可以成块地读取数据,它可使SQL引擎在返回输出结果给PL/SQL引擎之前大批绑定输出集合。这样可以一次性地把数据动态地装载到集合中,但bulk collect需要大量内存。bulk collect可用于select into、fetch into和returning into语句中。
●    select into中使用bulk collect
declare
  type t_email is table of employees.email%type;
  v_email_list t_email;
begin
  select email bulk collect
    into v_email_list
    from employees
   where department_id = 50;
  dbms_output.put_line('获取email地址数:' || v_email_list.count);
end;
/
获取email地址数:45
●    fetch into 中使用bulk collect
declare
  type t_emp is table of employees%rowtype;
  v_emp_list t_emp;
  cursor c_emp is
    select * from employees where department_id = 50;
begin
  open c_emp;
  --在fetch into中使用bulk collect
  fetch c_emp bu ......

关于数据仓库中复杂报表SQL语句的写法

原创于2008年04月02日,2009年10月18日迁移至此。

在数据仓库的基本报表制作过程中,通常会使用
SQL
作为数据源,可是普通的
SQL

在不适合处理一些较为复杂的逻辑判断;一般而言,待查询的数据类型主要包括日期型、数字型、字符串这三类数据类型;在报表查询界面前段,实际上会对查询的
数据作一些缺省处理,例如有些字段可输可不输,输入的字段需要按照输入的内容进行查询,而未输入的字段通常会选择忽略该条件的存在,如何判断该字段是否输
入了呢,当然是针对这些未输入的字段提供一些缺省值了,例如某个数字类型的字段未输入,则赋一个缺省值
-1
,某个字符串字段未输入,则赋一个缺省值为
’ ‘
,某个日期未输入,则赋一个缺省值为
SYSDATE
;这个时候只要在
SQL
中针对不同的缺省值和应该输入的值进行处理就
OK
了。
当然当更加复杂的查询逻辑实在不适合用
SQL
处理时,最好选择使用存储过程的方法了;其次过于复杂的
SQL
可能会带来数据库
性能问题,因此这些基于
SQL
的报表最好不要在大型数据表上操作。
下面是构造了一个包含以上三种数据类型的数据表,并填充了一些测试数据。
CREATE TABLE TestReportParameter
(
......

获取SQLServer的最完整数据字典的SQL语句

原创于2008年06月18日,2009年10月18日迁移至此。
获取SQLServer
的最完整数据字典的SQL
语句
 
其实网上已经流传了很多关于获取
SQLServer
的数据字典的版本,不过我相信这个应该是最全的了,本语句包括了表、字段、字段类型、字段长度、是否为空、是否递增字段、索引名称、索引的定位、索引类型、主键、外键等;通过合理的裁剪可以很方便的生成相应的数据字典。
 
SELECT
sysobjects.name AS
表名称
,ITPUB个人空间qpd6Bv c~~ \0s%?7k(@
--sysproperties.[value] AS
表说明
,
Zqm6iAu:{6517
syscolumns.name AS
字段名称
,ITPUB个人空间'y:q,dLc,d2b
--properties.[value] AS
字段说明
,
ShKAM_p6517
systypes.name AS
字段类型
,
:x-q
z$[X'n6517
syscolumns.length AS
字段长度
,ITPUB个人空间3g.O
h/o}t"t:[
ISNULL(COLUMNPROPERTY(syscolumns.id,
syscolumns.name,'Scale'), 0) AS
小数位数
,
CASE WHEN syscolumns.isnullable=0
bhvB-?6517
 THEN ''ITPUB个人空间ut"t.a;w;uO*g
ELSE '

'ITPUB个人空间)u(DZ)}�RM%M
END AS
是否为空
,
0JH2 ......

获取SQLServer的最完整数据字典的SQL语句

原创于2008年06月18日,2009年10月18日迁移至此。
获取SQLServer
的最完整数据字典的SQL
语句
 
其实网上已经流传了很多关于获取
SQLServer
的数据字典的版本,不过我相信这个应该是最全的了,本语句包括了表、字段、字段类型、字段长度、是否为空、是否递增字段、索引名称、索引的定位、索引类型、主键、外键等;通过合理的裁剪可以很方便的生成相应的数据字典。
 
SELECT
sysobjects.name AS
表名称
,ITPUB个人空间qpd6Bv c~~ \0s%?7k(@
--sysproperties.[value] AS
表说明
,
Zqm6iAu:{6517
syscolumns.name AS
字段名称
,ITPUB个人空间'y:q,dLc,d2b
--properties.[value] AS
字段说明
,
ShKAM_p6517
systypes.name AS
字段类型
,
:x-q
z$[X'n6517
syscolumns.length AS
字段长度
,ITPUB个人空间3g.O
h/o}t"t:[
ISNULL(COLUMNPROPERTY(syscolumns.id,
syscolumns.name,'Scale'), 0) AS
小数位数
,
CASE WHEN syscolumns.isnullable=0
bhvB-?6517
 THEN ''ITPUB个人空间ut"t.a;w;uO*g
ELSE '

'ITPUB个人空间)u(DZ)}�RM%M
END AS
是否为空
,
0JH2 ......

Sql Server同表内的级联排序

Sql Server同表内的级联排序(即同父级别的子节点自行按1~N排序),2005版本已经自带了ROW_NUMBER() OVER子句,可以很方便地实现效果。但是2000版本不支持这种做法,不过也可以采取特殊做法
--slq2005
select rd.id,r.id ruleId,ROW_NUMBER() OVER(
    PARTITION BY r.id
    ORDER BY rd.id) ord,
r.name+'--'+rd.name rule_name,
score from rules_detail rd left join rules r
on rd.rules_id=r.id
--slq2000
select rd.id,r.id ruleId,
(select count(*) from rules_detail rde left join rules ru
on rde.rules_id=ru.id where ru.id=r.id and (rd.id>rde.id or rd.id=rde.id)) ord,
r.name+'--'+rd.name rule_name,
score from rules_detail rd left join rules r
on rd.rules_id=r.id ......
总记录数:4346; 总页数:725; 每页6 条; 首页 上一页 [667] [668] [669] [670] 671 [672] [673] [674] [675] [676]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号