select sql_text, spid, v$session.program, process
from v$sqltext, v$session, v$process
where v$sqltext.address = v$session.sql_address
and v$sqltext.hash_value = v$session.sql_hash_value
and v$session.paddr = v$process.addr
and v$process.spid in (4335);
注意:PID是top里看到的进程ID ......
public List<FirmAttachmentModel> LoadFirmAttachmentByFirmId(int FirmId, int pageIndex, int pageSize)
{
List<FirmAttachmentModel> result = new List<FirmAttachmentModel>();
SqlDataReader dataReader = null;
try
{
dataReader = SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.StoredProcedure, "sp_LoadFirmAttachmentByFirmId", new SqlParameter[] { new SqlParameter("@FirmId", FirmId), new SqlParameter("@pageIndex", pageIndex), new SqlParameter("@pageSize", pageSize) });
......
SQl Xml和C# Xml数据的一点操作总结
在此申明Xml是InfoSet数据不是字符串,所以在此强烈反对用string拼接xml。数据库可以存放xml类型数据,那么该数据的具体操作又如何了。
1.首先建立一张含有xml数据类型的表
CREATE TABLE [dbo].[TestXml](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Message] [xml] NULL,
CONSTRAINT [PK_TestXml] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
2.创建相应的DataSet
注意默认Message是String类型,为此我们要把它改为XDocument或则XmlDocument,如:
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public XDocument Message {
get {
try {
  ......
SQl Xml和C# Xml数据的一点操作总结
在此申明Xml是InfoSet数据不是字符串,所以在此强烈反对用string拼接xml。数据库可以存放xml类型数据,那么该数据的具体操作又如何了。
1.首先建立一张含有xml数据类型的表
CREATE TABLE [dbo].[TestXml](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Message] [xml] NULL,
CONSTRAINT [PK_TestXml] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
2.创建相应的DataSet
注意默认Message是String类型,为此我们要把它改为XDocument或则XmlDocument,如:
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public XDocument Message {
get {
try {
  ......
SQl Xml和C# Xml数据的一点操作总结
在此申明Xml是InfoSet数据不是字符串,所以在此强烈反对用string拼接xml。数据库可以存放xml类型数据,那么该数据的具体操作又如何了。
1.首先建立一张含有xml数据类型的表
CREATE TABLE [dbo].[TestXml](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Message] [xml] NULL,
CONSTRAINT [PK_TestXml] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
2.创建相应的DataSet
注意默认Message是String类型,为此我们要把它改为XDocument或则XmlDocument,如:
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public XDocument Message {
get {
try {
  ......
前面有TX留言问分页的sql是怎么样的,看完这篇你也就知道了。 组件可以输出执行的sql,方便查看sql生成的语句是否有问题。 通过注册事件来输出sql DbSession.Default.RegisterSqlLogger(database_OnLog);
private string sql;
void database_OnLog(string logMsg)
{
//保存执行的DbCommand (sql语句和参数)
sql += "
" + logMsg;
}
然后通过执行
DbSession.Default.UnregisterSqlLogger(database_OnLog);
来注销注册的事件。
这里是例子是asp.net
DbSession.Default.from()
.InnerJoin(Suppliers._.SupplierID == Products._.SupplierID)
.Page(10, 2)
.Select(Products._.ProductID, Products._.ProductName)
.ToDataTable();
执行上面的语句输出的sql语句如下:
SELECT * from
( SELECT TOP 10 * from
( SELECT TOP 20 [Products].[ProductID],[Products].[ProductName]
from [Products]
INNER JOIN [Suppliers]
ON ([Suppliers].[SupplierID] = [Products].[SupplierID])
ORDER BY [Products].[Product ......
使用Tranact-SQL 编写代码来创建一个新表:
USE [OnlineJudge]
GO
/****** Object: Table [dbo].[User1] Script Date: 05/17/2010 14:05:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User2](/*notice convert the tablename*/
[num] [int]IDENTITY(1,1) NOT NULL,
[userid] [nchar](10) NOT NULL,
[password] [nchar](10) NOT NULL,
[authority] [int] NOT NULL,
[logintime] [datetime] NOT NULL,
CONSTRAINT [PK_User2] PRIMARY KEY CLUSTERED /*notice convert the tablename*/
(
[num] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
......
第一种:
select b.* from
( select a.*, rownum row_num from
(select t.* from A05_ORGANIZATION t order by org_name_en asc) a
) b
where b.row_num between 1 and 5 order by b.row_num asc
第二种(更高效):
select b.* from
( select a.*, rownum row_num from
(select t.* from A05_ORGANIZATION t order by org_name_en asc) a
where rownum <=5
) b
where b.row_num >=1 order by b.row_num asc ......
第一种:
select b.* from
( select a.*, rownum row_num from
(select t.* from A05_ORGANIZATION t order by org_name_en asc) a
) b
where b.row_num between 1 and 5 order by b.row_num asc
第二种(更高效):
select b.* from
( select a.*, rownum row_num from
(select t.* from A05_ORGANIZATION t order by org_name_en asc) a
where rownum <=5
) b
where b.row_num >=1 order by b.row_num asc ......