易截截图软件、单文件、免安装、纯绿色、仅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 server 存储过程及触发器

一直都想找个时间研究一下,今天花了一天时间去实践了一下,非常有用。可以说是数据库里面的精华吧。还好我今天去弄了几下,虽说都是些简单的语句,但是最起码知道以后在项目该怎么去做了。 闲话少说。进入正题。
1.创建SQL存储过程:
   CREATE PROCEDURE stu_proc1//指定过程名
    @Sno varchar(50)  ='7000803068',//定义参数以及默认值
  AS//执行SQL语句
    select * from Student
    where Sno=@Sno
 GO
Declare @XXX声明变量
set @XXX=XXX设定变量值
同时里面也有if else while等语句不过得加上begin end
2.执行存储过程
  Execute stu_proc1 @Sno='XXX' @Sname='XXXX'
其实可以把存储过程看成一个C语言的函数。函数名是存储过程名,形参是也是里面的参数,里面还有局部变量,同时也可设定值。也可以返回值,用return语句。里面可以用到if else,while语句。但是C里面的函数功能会更大,不能等同,只能做比较。写存储过程也有点像写个函数一样。
同时在JAVA语言中也可以调用存储过程,类似C里调用函数。设定形参值。
3.JDBC中调用存储过程
 CallableStatement对象 ......

SQL谓词

1、谓词 谓词允许您构造条件,以便只处理满足这些条件的那些行。
2、使用 IN 谓词
使用 IN 谓词将一个值与其他几个值进行比较。例如:
SELECT NAME from STAFF WHERE DEPT IN (20, 15)
此示例相当于:
SELECT NAME from STAFF WHERE DEPT = 20 OR DEPT = 15
当子查询返回一组值时,可使用 IN 和 NOT IN 运算符。例如,下列查询列出负责项目 MA2100 和 OP2012 的雇员的姓:
SELECT LASTNAME from EMPLOYEE WHERE EMPNO IN (SELECT RESPEMP from PROJECT WHERE PROJNO='MA2100' OR PROJNO='OP2012')
计算一次子查询,并将结果列表直接代入外层查询。例如,上面的子查询选择雇员编号 10 和 330,对外层查询进行计算,就好象 WHERE 子句如下:
WHERE EMPNO IN (10, 330)
子查询返回的值列表可包含零个、一个或多个值。
3、使用 BETWEEN 谓词
使用 BETWEEN 谓词将一个值与某个范围内的值进行比较。范围两边的值是包括在内的,并考虑 BETWEEN 谓词中用于比较的两个表达式。
下一示例寻找收入在 $10,000 和 $20,000 之间的雇员的姓名:
SELECT LASTNAME from EMPLOYEE WHERE SALARY BETWEEN 10000 AND 20000
这相当于:
SELECT LASTNAME from EMPLOYEE WHERE SALARY ......

1.The SQL introuduction

Introducing Oracle Database 11g
List the features of Oracle Database 11g
Discuss the basic design, theoretical and physical aspects of a relational database
Categorize the different types of SQL statements
Describe the data set used by the course
Log onto the database using the SQL Developer environment
Save queries to files and use script files in SQL Developer
Retrieving Data Using the SQL SELECT Statement
List the capabilities of SQL SELECT statements
Generate a report of data from the output of a basic SELECT statement
Select All Columns
Select Specific Columns
Use Column Heading Defaults
Use Arithmetic Operators
Understand Operator Precedence
Learn the DESCRIBE command to display the table structure
Restricting and Sorting Data
Write queries that contain a WHERE clause to limit the output retrieved
List the comparison operators and logical operators that are used in a WHERE clause
Describe the rules of precedence for comparison and logical operat ......

shopxp网上购物系统 v7.4存在SQL注入漏洞

shopxp网上购物系统 v7.4存在Sql注入漏洞。
问题文件:xpCatalog_xpDesc.asp,xpCatalog_xpsmall_Desc.asp
问题代码:
<%
dim shopxpbe_id, anclassname, shopxpse_id, nclassname
dim totalPut
dim CurrentPage, TotalPages
if request("shopxpbe_id")<>"" then
shopxpbe_id=request("shopxpbe_id")
else
shopxpbe_id=0
end if
if request("shopxpbe_id")="" then
shopxpbe_id=1
end if
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
set rs=server.createobject("adodb.recordset")
rs.open "select * from shopxp_btype where shopxpbe_id="&amp;shopxpbe_id,conn,1,1
anclassname=rs("shopxpbe_name")
rs.close
%>
并没有对shopxpbe_id进行整形判断。下面在说说他的防注入系统。好像是网上的枫叶防注入。看代码吧:
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
Fy_Cl = 2 &apos;处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "../" &apos;出错时转向的页面
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a= ......

必备sql语句

 1.读出表中的字段名
ResultSet  rs = test.selectSql("SELECT * from datainfo");  
java.sql.ResultSetMetaData md=rs.getMetaData();   //读出数据库的字段名
   int nColumn=md.getColumnCount();   //字段总数
   for(int i=0;i<nColumn;i++)
  { 
  System.out.println(md.getColumnLabel(i+1));       //md.getColumnLabel(n)n是从1开始的,打印每个字段
  }
2.查询某个时间段内的数据
String sql="select * from datainfo where time between '"+start+"' and '"+end+"'";  取时间段内的数据
select * from datainfo where time between "2009-11-03 11:16:59"and "2009-11-03 11:18:59"
3.按某个字段降序排列并选取第一个
sql="select * from datainfo,nodeinfo where nodeinfo.nodeid="+Integer.parseInt(param)+" and nodeinfo.nodeip=datainfo.ip
order by time desc limit 0,1"; 按时间降序排列 只取第一个
(limit 0,1 是只取记录中的第一条.所以这条语句只能得到一条记录
  如想取前10条则 limit 0,10或l ......

SQL之COLLATE 子句 排序规则

COLLATE 是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则转换。
语法
COLLATE { <collation_name> | database_default }
<collation_name> :: =
     { Windows_collation_name } | { SQL_collation_name }
参数
collation_name
    应用于表达式、列定义或数据库定义的排序规则的名称。collation_name 可以只是指定的
Windows_collation_name 或 SQL_collation_name 。collation_name 必须是文字值。   
collation_name 不能用变量或表达式表示。
    Windows_collation_name 是用于 Windows 排序规则
名称的排序规则名称。
    SQL_collation_name 是用于 SQL 排序规则
名称的排序规则名称。
database_default
    使 COLLATE 子句继承当前数据库的排序规则。
下面说明下什么是排序规则,SQL Server 2005 提供了两组排序规则:Windows 排序规则和 SQL 排序规则。
Windows 排序规则
Windows 排序规则是为 SQL Server 定义的排序规则,用来支持 Windows 区域设置。Windows 区域设置的数量比
SQ ......
总记录数:4346; 总页数:725; 每页6 条; 首页 上一页 [610] [611] [612] [613] 614 [615] [616] [617] [618] [619]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号