SQL Server 的语法如下:
ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
指定如果已创建表中的行具有引用关系,并且被引用行已从父表中删除,则对这些行采取的 *** 作。默认值为 NO ACTION。
NO ACTION
数据库引擎将引发错误,并回滚对父表中行的删除 *** 作。
CASCADE
如果从父表中删除一行,则将从引用表中删除相应行。
SET NULL
如果父表中对应的行被删除,则组成外键的所有值都将设置为 NULL。若要执行此约束,外键列必须可为空值。
SET DEFAULT
如果父表中对应的行被删除,则组成外键的所有值都将设置为默认值。若要执行此约束,所有外键列都必须有默认定义。如果某个列可为空值,并且未设置显式的默认值,则将使用 NULL 作为该列的隐式默认值。
MySQL 里面的 on delete restrict
切换到 SQL Server , 可以切换为 ON DELETE NO ACTION
也可以不写,因为 默认值为 NO ACTION。
sql
方法/步骤
很多时候我们在生产数据库上面只能进行简单的查询,是不能增删查改的。但是又想使用真实的数据。
如果用plsql develop是可以实现将数据导出成insert语句的。但是导出之后是全部的列都会出现在insert语句里面。
3
遇到一些空值,日期之类的还要处理一下才行,而且有很多列是自己不需要的。
4
这个时候就需要用sql来构造insert语句了。他是比较自由和灵活的,可控制性比较强。
1、如果是Query query = sessioncreateQuery("")的话,试一下去掉前面的“select ”即createQuery方法内的条件直接是“from ”,有几个是可以用的,因为支持部分SQL。
不行的话就用下面的格式(排序必用):
select OBJECT(o) from A o where ob in(21,32)
select OBJECT(o) from A o order by ob ASC
2、Hibernate中实现模糊查询,可有以下三种方式:
第一种方式:QBC查询
String name = "", info = "";
if (sub != null && subgetSubname() != null) {
name = subgetSubname();
}
if (sub != null && subgetSubinfo() != null) {
info = subgetSubinfo();
}
Criteria cr = sessioncreateCriteria(Subjectclass);
cradd(Expressionlike("subname","%"+name+"%"));
cradd(Expressionlike("subinfo","%"+info+"%"));
第二种方式:HQL查询语句
String hql = "from Subject as s where ssubname like :name and ssubinfo like :info";
// 调用session的获得数据列表方法,传递HQL查询语句
Query query = sessioncreateQuery(hql);
querysetString("name","%"+name+"%");
querysetString("info","%"+info+"%");
Systemoutprintln(""+hql);
第三种方式:HQL查询语句(查询条件只能为英文或数字,汉字在传递到hibernate内部时出现乱码问题)
String hql = "from Subject as s where ssubname like '%"+name+"%' and ssubinfo like '%"+info+"%'";//调用session的获得数据列表方法,传递HQL查询语句
Query query = sessioncreateQuery(hql);
注:Subject为数据库表subject映射的类;它有相应的属性subname、subinfo及相应的get和set方法;sub为Subject的一个实例化对象。
不同的数据库、不同的程序设计语言,对时间戳的处理方法也各不相同
一、常用的数据库、程序设计语言中将时间戳转成普通时间的方法:
二、以SQL server为例
将时间戳:1500112590,转换成普通时间
select DATEADD(s,1500112590, '1970-01-01 00:00:00')结果如图:
Int(number) : 转换为小于或等于接收参数的最大整数值,
CInt(number) :转换为表达式为Integer 型的数值,
CLng(number): 转换为表达式为Long 型的数值,
Fix(number) :去掉参数的小数部分并传回,
cCur(number) :转换为 Currency 子类型的数值
以上请选择使用。
以上就是关于mysql语句转换为sqlserver2005语句全部的内容,包括:mysql语句转换为sqlserver2005语句、如何将一张数据库表中的数据导出或转化成sql语句、sql语句怎么转化为hql语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)