易截截图软件、单文件、免安装、纯绿色、仅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
 最新文章 : sqlserver

SQLserver时间段查询

eg:
select * from Exception_Log where DATEDIFF(day,OPER_DATE,getdate())<30 ;
/*
oper_date 为表中查询出来的时间
getdate()为SQLServer里面获得系统时间的函数
含义:当前时间-查询出来的时间小于30天
DateDiff具体用法:
*/
DateDiff 函数
返回两个日期之间的时间间隔。
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateDiff 函数的语法有以下参数:
参数
interval
必选项。String expression 表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
date1, date2
必选项。日期表达式。用于计算的两个日期。
Firstdayofweek
可选项。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
Firstweekofyear
可选项。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。
设置
interval 参数可以有以下值:
设置  描述
yyyy  年
q  季度
m  月
y  一年的日数
d  日
w  一周的日数
ww 周
h  小时
n &nb ......

SqlServer插入慢的问题解决

这个是我加入的QQ群里面一个网友问的问题。他说一个表做一个INSERT都会超时。正困惑呢,向群里面的人求助。我刚好对这方面知道点,就回答了说要优化聚集索引。他不明白具体该怎么做,似乎也不知道什么是聚集索引。我对他说你可以看看你插入记录时的磁盘IO是否比较多,他说他的磁盘已经换成了RAID,不好查看磁盘IO。OK, 我继续替他分析道: 你那个insert慢是因为你每次插新记录,数据库服务器都要在中间的一个位置插入,引起磁盘文件的大量读写. 他说: 如何解决?  我的硬件配置已经没法升级了. 我说: 你可以看看聚集索引, 要优化聚集索引. 他似乎不太明白, 写了下面这写东西:
是这个吗:
use WanerSoft2007
declare @table_id int
set @table_id=object_id('dbo.Ws_UserProInfo')
dbcc showcontig(@table_id)
dbcc dbreindex('dbo.Ws_UserProInfo','',0)
我看了一下, 说这是重做索引的批处理,不是聚集索引.我继续说道:聚集索引是指记录的物理摆放次序即按照聚集索引来做的。是最重要的一个索引,聚集索引设计的好,多种数据库操作都可以获得好的性能。设计的不好就会引起性能上的巨大差异, 比如插入操作, 设计得好时,新记录只 ......

使用JavaScript连接SqlServer数据库。执行CRUD操作。

function db()
{
//活动编号
var activeid = Request.Form("activeid");
//用户名
var username = Request.Form("username");
//手机号码
var mobile = Request.Form("mobile");
var conn= Server.CreateObject("ADODB.connection");
var rs= Server.CreateObject("adodb.recordset");
var userid = getUserIdByName(username);
conn.open("PROVIDER=SQLOLEDB;DATA SOURCE=127.0.0.1;UID=sa;PWD=123456;DATABASE=test");
var sql = "insert into user (activeid,userid,chrtel,dtappenddate) values("+activeid+","+userid+",'"+mobile+"',getdate())";
rs.open(sql,conn);
rs.close();
conn.close();
rs=null;
conn=null;
}
function getUserIdByName(username)
{
var conn= Server.CreateObject("ADODB.connection");
var rs= Server.CreateObject("adodb.recordset");
conn.open("PROVIDER=SQLOLEDB;DATA SOURCE=127.0.0.1;UID=sa;PWD=123456;DATABA ......

使用JavaScript连接SqlServer数据库。执行CRUD操作。

function db()
{
//活动编号
var activeid = Request.Form("activeid");
//用户名
var username = Request.Form("username");
//手机号码
var mobile = Request.Form("mobile");
var conn= Server.CreateObject("ADODB.connection");
var rs= Server.CreateObject("adodb.recordset");
var userid = getUserIdByName(username);
conn.open("PROVIDER=SQLOLEDB;DATA SOURCE=127.0.0.1;UID=sa;PWD=123456;DATABASE=test");
var sql = "insert into user (activeid,userid,chrtel,dtappenddate) values("+activeid+","+userid+",'"+mobile+"',getdate())";
rs.open(sql,conn);
rs.close();
conn.close();
rs=null;
conn=null;
}
function getUserIdByName(username)
{
var conn= Server.CreateObject("ADODB.connection");
var rs= Server.CreateObject("adodb.recordset");
conn.open("PROVIDER=SQLOLEDB;DATA SOURCE=127.0.0.1;UID=sa;PWD=123456;DATABA ......

SQLServer常见查询问题

有些常见的问题在论坛中不断出现,不妨整理一下。
以下语句是在SQLServer2005上实现的,一些语句无法在SS2000上执行。
有用指数是我根据这个问题的常见程度打的分,仅供参考。实际上,当你遇到了这个问题,这个问题哪怕再少见,解决方案也是非常有用的。
1. 生成若干行记录
有用指数:★★★★★
常见的问题类型:根据起止日期生成若干个日期、生成一天中的各个时间段
《SQL Server 2005技术内幕:T-SQL查询》作者建议在数据库中创建一个数据表:
SQL code
--自然数表1-1M
CREATE TABLE Nums(n int NOT NULL PRIMARY KEY CLUSTERED)
--书上介绍了很多种填充方法,以下是最高效的一种,需要SS2005的ROW_NUMBER()函数。
WITH B1 AS(SELECT n=1 UNION ALL SELECT n=1), --2
B2 AS(SELECT n=1 from B1 a CROSS JOIN B1 b), --4
B3 AS(SELECT n=1 from B2 a CROSS JOIN B2 b), --16
B4 AS(SELECT n=1 from B3 a CROSS JOIN B3 b), --256
B5 AS(SELECT n=1 from B4 a CROSS JOIN B4 b), --65536
CTE AS(SELECT r=ROW_NUMBER() OVER(ORDER BY (SELECT 1)) from B5 a CROSS JOIN B3 b) --65536 * 16
INSERT INTO Nums(n)
SELECT TOP(1000000) r from CTE ORDER BY ......

oracle与sqlserver插入数据动态字段值

记录一下以备下次快速找到。。。
       往tb_wf_privgrant表中插入一条记录,workflow_id字段值从tb_wf_workflow 表中获取workflow_name='知识审核'的所有记录中workflow_id最大值。
--oracle
declare   a NUMBER(10);
   begin
   select  max(workflow_id) into a from tb_wf_workflow where workflow_name='知识审核';
   insert into tb_wf_privgrant(grant_Id,workflow_id,member_id,member_type,knowledge_code) values (HIBERNATE_SEQUENCE.NEXTVAL, a,'r001','R','6001');
   end;
--sqlserver
--方法一
insert into tb_wf_privgrant(workflow_id,member_id,member_type,knowledge_code)
   select max(workflow_id),'r001','R','6001' from tb_wf_workflow where workflow_name='知识审核'
--方法二
 declare   @a numeric(10,0)
   select   @a = max(workflow_id) from tb_wf_workflow where workflow_name='知识审核'
   insert into tb_wf_privgrant(workflow_id,member_id,member_type,knowl ......

oracle与sqlserver插入数据动态字段值

记录一下以备下次快速找到。。。
       往tb_wf_privgrant表中插入一条记录,workflow_id字段值从tb_wf_workflow 表中获取workflow_name='知识审核'的所有记录中workflow_id最大值。
--oracle
declare   a NUMBER(10);
   begin
   select  max(workflow_id) into a from tb_wf_workflow where workflow_name='知识审核';
   insert into tb_wf_privgrant(grant_Id,workflow_id,member_id,member_type,knowledge_code) values (HIBERNATE_SEQUENCE.NEXTVAL, a,'r001','R','6001');
   end;
--sqlserver
--方法一
insert into tb_wf_privgrant(workflow_id,member_id,member_type,knowledge_code)
   select max(workflow_id),'r001','R','6001' from tb_wf_workflow where workflow_name='知识审核'
--方法二
 declare   @a numeric(10,0)
   select   @a = max(workflow_id) from tb_wf_workflow where workflow_name='知识审核'
   insert into tb_wf_privgrant(workflow_id,member_id,member_type,knowl ......

C#连接sqlserver数据库


       当在C#语言中,连接sql数据库的时候,常用到sqlconnection建立与数据库的连接。 语法如下:
       String sqlcon = "***";//这里是一个字符串,具体跟数据库的验证方式有关。
//sql server 身份验证 连接字符串
private string ConnstrSqlServer = "server=服务器名称;uid=登录名称;pwd=登录密码;database=数据库名称";
 
//windows 身份验证连接字符串
private string ConnstrWindows = "server=服务器名称;database=数据库名称;Trusted_Connection=SSPI";
       SqlConnection connection = new SqlConnection(sqlcon);
例如:
SqlConnection connection = new SqlConnection("server=(local);database=dotNET_lab;Trusted_Connection=SSPI");
//windows验证方式 。
SqlConnection connection = new SqlConnection("server=(local);uid=sa;password=sa;database=dotNET_lab");
//混合验证方式 。
然后,
            try {
                connection.Open();
       ......

C#连接sqlserver数据库


       当在C#语言中,连接sql数据库的时候,常用到sqlconnection建立与数据库的连接。 语法如下:
       String sqlcon = "***";//这里是一个字符串,具体跟数据库的验证方式有关。
//sql server 身份验证 连接字符串
private string ConnstrSqlServer = "server=服务器名称;uid=登录名称;pwd=登录密码;database=数据库名称";
 
//windows 身份验证连接字符串
private string ConnstrWindows = "server=服务器名称;database=数据库名称;Trusted_Connection=SSPI";
       SqlConnection connection = new SqlConnection(sqlcon);
例如:
SqlConnection connection = new SqlConnection("server=(local);database=dotNET_lab;Trusted_Connection=SSPI");
//windows验证方式 。
SqlConnection connection = new SqlConnection("server=(local);uid=sa;password=sa;database=dotNET_lab");
//混合验证方式 。
然后,
            try {
                connection.Open();
       ......
总记录数:341; 总页数:57; 每页6 条; 首页 上一页[2] [3] [4] [5] [6] [7] [8] [9] [10]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号