insert to table select * from table 无法排序!
GO
/****** 对象: Table [dbo].[t_class] 脚本日期: 09/18/2009 17:19:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[t_class](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[parentID] [int] NULL,
[Orders] [int] NULL,
[updatedate] [datetime] NULL CONSTRAINT [DF_t_class_updatedate] DEFAULT (getdate()),
[addDate] [datetime] NULL,
[intro] [nvarchar](1024) COLLATE Chinese_PRC_CI_AS NULL,
[isRecommand] [bit] NULL,
[isDisplayAds] [bit] NULL,
[filepath] [varchar](128) COLLATE Chinese_PRC_CI_AS NULL,
[type] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_t_class] PRIMARY KEY CLUSTERED
(
[id] ASC
) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
--SQL SERVER 2000
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[p_classQuery]
-- Add the parameters for the stored procedure here
@parentID int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
DECLARE @t_Level TABLE(ID char(3),Level int,Sort varchar(100))
DECLARE @Level int
SET @Level=0
INSERT @t_Level SELECT id,@Level,right('000'+ltrim(ID),3)
FROM t_class
WHERE parentID =@parentID -------modify
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.ID,@Level,ltrim(b.Sort)+right('000'+ltrim(a.ID),3)
FROM t_class a,@t_Level b
WHERE a.parentID=b.ID
AND b.Level=@Level-1
order by a.orders desc
END
--显示结果
SELECT a.*,b.level,b.sort
FROM t_class a,@t_Level b
WHERE a.ID=b.ID
ORDER BY b.Sort
END
为什么order by a.orders desc不起作用?我想在插入数据之前对orders该字段进行排序后再插入,请问怎么写?
相关推荐
mysql SELECT 列 FROM 表 WHERE 条件 选择:select * from table where 范围
SELECT 列 FROM 表 WHERE 条件 选择:select * from table where 范围 2 插入:insert into table(field1,field2) values(value1,value2) 3 删除:delete from table where 范围 4 更新:update table set field1=value1 where 范围 5 查找:select * from table where field1 like ’%value1%’ 6 排序:select * from table order by field1,field2 [desc]
INSERT DESC UPDATE SELECT
从 SQL Server 数据库中提取所需的数据,这是用户日常的重要操作。 SELECT语句是 T-SQL 中最重要的查询语句。SELECT 语句可能返回一行记录(record),也可能返回一个结果集(result set)。 SELECT语句可以包含多个子句,从而构成复杂的查询。常用的基本子句有以下几个: 1. SELECT 子句,定义返回哪些列。 2. FROM 子句,定义查询哪些表。 3. WHERE 子句,使用谓词对行进行过滤。 4. GROUP BY 子句,对行进行分组。 5. HAVIN
select into和insert into select使用方法
select into 和 insert into select 两种表复制语句 第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建 第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量
无法解决 equal to 操作的排序规则冲突
运行sql语句时候提示“无法解决 equal to 操作的排序规则冲突。”
常用的sql语句(select insert update)
这个文档是自己到网上找到对基础sql语句总结蛮好的希望对大家有点帮助。


疑难问题
