易截截图软件、单文件、免安装、纯绿色、仅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模糊查询语法LIKE


执行 数据库查询时,有完整查询和模糊查询之分。
一般模糊语句如下:
SELECT 字段 from 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请运用两个百分号(%%)表示。
比如 SELECT * from [user] WHERE u_name LIKE '%三%'
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
另外,如果须要找出u_name中既有“三”又有“猫”的记录,请运用 and条件
SELECT * from [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若运用 SELECT * from [user] WHERE u_name LIKE '%三%猫%'
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。
2,_: 表示任意单个字符。匹配单个任意字符,它常用来限定表达式的字符长度语句:
比如 SELECT * from [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;
再比如 SELECT * from [user] W ......

【转】关于SQL Server2005主键和聚簇索引设置的问题

小弟想问个问题,在SQL Server 2005上,建立主键的同时就会默认在主键上设置聚簇索引,那么能否在一个字段上设置主键和唯一性索引(Unique),但是把聚簇索引设置到另一个字段上?
举个简单的例子,比如我有个表叫TableTest,表里有两个字段,id,date,本来id是主键的,我现在想把聚簇索引设置到date字段上。
我先删除主键上的聚簇索引,数据库提示操作不成功,因为受到了主键的约束。
然后我首先在id字段上删除主键,然后在date字段上设置聚簇索引,在id字段上设置唯一索引,再在id上设置主键,则数据库提示将删除date字段上的聚簇索引和id字段上的唯一性索引。
所以想请教一下各位大大,有什么办法能既在id上设置主键,又在date上设置聚簇索引,还是SQL Server就不支持这种设置,谢谢您了
------------------------------------------------------
create table TableTest (
id int identity,
d_date datetime,
primary key nonclustered (id),
unique clustered (d_date)
)
http://www.javaeye.com/problems/14143 ......

sql中的like


执行 数据库查询时,有完整查询和模糊查询之分。
一般模糊语句如下:
SELECT 字段 from 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请运用两个百分号(%%)表示。
比如 SELECT * from [user] WHERE u_name LIKE '%三%'
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
另外,如果须要找出u_name中既有“三”又有“猫”的记录,请运用 and条件
SELECT * from [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若运用 SELECT * from [user] WHERE u_name LIKE '%三%猫%'
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。
2,_: 表示任意单个字符。匹配单个任意字符,它常用来限定表达式的字符长度语句:
比如 SELECT * from [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;
再比如 SELECT * from [user] W ......

oracle PL SQL学习案例(一)

【示例1.1】  查询雇员编号为7788的雇员姓名和工资。
  步骤1:用SCOTT/TIGER账户登录SQL*Plus。
  步骤2:在输入区输入以下程序:
   /*这是一个简单的示例程序*/
  SET SERVEROUTPUT ON
  DECLARE--定义部分标识
    v_name  VARCHAR2(10); --定义字符串变量v_name
    v_sal   NUMBER(5); --定义数值变量v_sal
  BEGIN   --可执行部分标识
  SELECT  ename,sal
    INTO v_name,v_sal
    from emp
    WHERE empno=7788;    
  --在程序中插入的SQL语句
    DBMS_OUTPUT.PUT_LINE('7788号雇员是:'||v_name||',工资为:'||to_char(v_sal));
  --输出雇员名和工资
  END;        --结束标识
  
  步骤3:按执行按钮或F5快捷键执行程序。
  
  输出的结果是:
  7788号雇 ......

oracle PL SQL学习案例(一)

【示例1.1】  查询雇员编号为7788的雇员姓名和工资。
  步骤1:用SCOTT/TIGER账户登录SQL*Plus。
  步骤2:在输入区输入以下程序:
   /*这是一个简单的示例程序*/
  SET SERVEROUTPUT ON
  DECLARE--定义部分标识
    v_name  VARCHAR2(10); --定义字符串变量v_name
    v_sal   NUMBER(5); --定义数值变量v_sal
  BEGIN   --可执行部分标识
  SELECT  ename,sal
    INTO v_name,v_sal
    from emp
    WHERE empno=7788;    
  --在程序中插入的SQL语句
    DBMS_OUTPUT.PUT_LINE('7788号雇员是:'||v_name||',工资为:'||to_char(v_sal));
  --输出雇员名和工资
  END;        --结束标识
  
  步骤3:按执行按钮或F5快捷键执行程序。
  
  输出的结果是:
  7788号雇 ......

oracle PL SQL学习案例(二)

【训练6.1】 使用隐式游标的属性,判断对雇员工资的修改是否成功。
步骤1:输入和运行以下程序:
BEGIN
  UPDATE emp SET sal=sal+100 WHERE empno=1234;
  IF SQL%FOUND THEN
       DBMS_OUTPUT.PUT_LINE('成功修改雇员工资!');
       ROLLBACK;
  ELSE
       
        DBMS_OUTPUT.PUT_LINE('修改雇员工资失败!');
  END IF;
END;
  运行结果为:
  修改雇员工资失败!
  PL/SQL 过程已成功完成。
  步骤2:将雇员编号1234改为7788,重新执行以上程序:
  运行结果为:
  成功修改雇员工资!
  PL/SQL 过程已成功完成。
  说明:本例中,通过SQL%FOUND属性判断修改是否成功,并给出相应信息。
=================================================================
【训练7.1】  用游标提取emp表中7788雇员的名称和职务。
DECLARE   
  v_ename VARCHAR2(10);
&nbs ......

oracle PL SQL学习案例(二)

【训练6.1】 使用隐式游标的属性,判断对雇员工资的修改是否成功。
步骤1:输入和运行以下程序:
BEGIN
  UPDATE emp SET sal=sal+100 WHERE empno=1234;
  IF SQL%FOUND THEN
       DBMS_OUTPUT.PUT_LINE('成功修改雇员工资!');
       ROLLBACK;
  ELSE
       
        DBMS_OUTPUT.PUT_LINE('修改雇员工资失败!');
  END IF;
END;
  运行结果为:
  修改雇员工资失败!
  PL/SQL 过程已成功完成。
  步骤2:将雇员编号1234改为7788,重新执行以上程序:
  运行结果为:
  成功修改雇员工资!
  PL/SQL 过程已成功完成。
  说明:本例中,通过SQL%FOUND属性判断修改是否成功,并给出相应信息。
=================================================================
【训练7.1】  用游标提取emp表中7788雇员的名称和职务。
DECLARE   
  v_ename VARCHAR2(10);
&nbs ......

oracle PL SQL学习案例(三)

存储过程
========================================================================== 
========================================================================== 
【训练15.1】  创建一个显示雇员总人数的存储过程。
  步骤1:登录SCOTT账户(或学生个人账户)。
  步骤2:在SQL*Plus输入区中,输入以下存储过程:
CREATE OR REPLACE PROCEDURE EMP_COUNT
AS
    V_TOTAL NUMBER(10);
BEGIN
     SELECT COUNT(*) INTO V_TOTAL from EMP;
     DBMS_OUTPUT.PUT_LINE('雇员总人数为:'||V_TOTAL);
END;
步骤3:按“执行”按钮进行编译。
  如果存在错误,就会显示:
  警告: 创建的过程带有编译错误。
  如果存在错误,对脚本进行修改,直到没有错误产生。
  如果编译结果正确,将显示:
  过程已创建。
  步骤4:调用存储过程,在输入区中输入以下语句并执行:
  
  显示结果为:
  雇员总人数为:14
  PL/SQL 过程已成功完成。
......

oracle PL SQL学习案例(三)

存储过程
========================================================================== 
========================================================================== 
【训练15.1】  创建一个显示雇员总人数的存储过程。
  步骤1:登录SCOTT账户(或学生个人账户)。
  步骤2:在SQL*Plus输入区中,输入以下存储过程:
CREATE OR REPLACE PROCEDURE EMP_COUNT
AS
    V_TOTAL NUMBER(10);
BEGIN
     SELECT COUNT(*) INTO V_TOTAL from EMP;
     DBMS_OUTPUT.PUT_LINE('雇员总人数为:'||V_TOTAL);
END;
步骤3:按“执行”按钮进行编译。
  如果存在错误,就会显示:
  警告: 创建的过程带有编译错误。
  如果存在错误,对脚本进行修改,直到没有错误产生。
  如果编译结果正确,将显示:
  过程已创建。
  步骤4:调用存储过程,在输入区中输入以下语句并执行:
  
  显示结果为:
  雇员总人数为:14
  PL/SQL 过程已成功完成。
......
总记录数:4346; 总页数:725; 每页6 条; 首页 上一页 [136] [137] [138] [139] 140 [141] [142] [143] [144] [145]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号