随笔分类 -  sqlserver

摘要:简单点的直接返回查询的table对象CREATE FUNCTION Fun_GetReportNews(@type varchar(10)) RETURNS TABLE AS RETURN ( SELECT message,tablenames from tb_error WHERE tablenames = @type )调用:SELECT * FROM dbo.Fun_GetReportNews('')复杂点的 先创建一张临时表再返回表对象CREATE FUNCTION FUN_GetInfoList(@type varchar(10)) RETURNS @Table TA 阅读全文
posted @ 2011-12-27 10:51 放哨De老鼠 阅读(226) 评论(0) 推荐(0)
摘要:declare @test table(id int,name varchar(100))insert into @test(id,name)select ID,LastName from tb_OrderUserInfo where DATEDIFF(M,InTime,GETDATE())<3select * from @test 阅读全文
posted @ 2011-12-27 10:24 放哨De老鼠 阅读(218) 评论(0) 推荐(0)
摘要:CREATE FUNCTION [dbo].[GetSplitOfIndex]( @String NVARCHAR(MAX) , --要分割的字符串 @split NVARCHAR(10) , --分隔符号 @index INT --取第几个元素)RETURNS NVARCHAR(1024)AS BEGIN DECLARE @location INT DECLARE @start INT DECLARE @next INT DECLARE @seed INT SET @String = LTRIM(RTRIM(@String)) SET @start = 1 SET @next = 1 SE. 阅读全文
posted @ 2011-12-23 12:23 放哨De老鼠 阅读(204) 评论(0) 推荐(0)
摘要:select row_number() over(排序条件,必不可少),字段名(也可以是*) from 表名select row_number() over(order by id asc),id,name from table1 阅读全文
posted @ 2011-12-21 11:23 放哨De老鼠 阅读(258) 评论(0) 推荐(0)
摘要:update tb_order set UserID= a.ID from tb_OrderUserInfo a inner join tb_order p on p.rownum=a.rownumwhere DATEDIFF(M,p.InTime,GETDATE())<3tb_order 表和tb_OrderUserInfo 表对应同一行号tb_order 要取得tb_OrderUserInfo 的ID 阅读全文
posted @ 2011-12-21 09:35 放哨De老鼠 阅读(274) 评论(0) 推荐(0)
摘要:insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,--创建一张新表,只复制选择的列名字段数据 阅读全文
posted @ 2011-12-20 11:30 放哨De老鼠 阅读(382) 评论(0) 推荐(0)
摘要:create proc sp_Testasbegin begin transaction begin try--sql语句省略end trybegin catch if(@@TRANCOUNT >0)insert into tb_error (Message)values(ERROR_MESSAGE())--这句永远不会执行 有谁知道请留意rollback transaction end catchif(@@TRANCOUNT >0)commit transaction 阅读全文
posted @ 2011-12-19 17:18 放哨De老鼠 阅读(220) 评论(0) 推荐(0)
摘要:今天刚发现TRUNCATE能清空表数据,ID 标识自增会重置,从1开始TRUNCATE TABLE table1 阅读全文
posted @ 2011-12-17 10:57 放哨De老鼠 阅读(406) 评论(0) 推荐(0)
摘要:select * From OPENDATASOURCE('SQLOLEDB','Data Source=IP地址;User ID=数据库用户名;Password=数据库密码').数据库名称.dbo.表名结果提示: SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distr 阅读全文
posted @ 2011-12-17 10:30 放哨De老鼠 阅读(326) 评论(0) 推荐(0)
摘要:数据库中日期格式都是这样的 如:2011-11,2011-10,想直接查询本月数据有点困难尝试了多种办法后终于解决了!select * from es_exchangeratedate where datediff(m, case when len(e_ratedate)<8 then e_ratedate+'-01' end,getdate())=0 阅读全文
posted @ 2011-12-06 11:38 放哨De老鼠 阅读(296) 评论(0) 推荐(0)
摘要:ALTER function [dbo].[GetOrderNum](@ebaystockflag varchar(20)//规则字母)returns varchar(100)ASBEGIN declare @dt CHAR(8) declare @flag varchar(20) set @flag='B'+@ebaystockflag set @dt=CONVERT(CHAR(8),GETDATE(),112) declare @max varchar(100) SELECT @max=MAX(OrderNumber) FROM tb_EbayOrder WITH(XLOC 阅读全文
posted @ 2011-12-05 17:34 放哨De老鼠 阅读(2270) 评论(0) 推荐(0)
摘要:最近在做一个paypal抓取数据的程序,由于所有字段和paypal之间存在对应映射的关系,所以所有的sql语句必须得拼接传到存储过程里去执行,ALTER proc [dbo].[sp_common_paypal_AddInfo](@paypalsql varchar(max),--不包含用户表的paypalsql语句@paypalusersql varchar(max),--paypal用户表的sql语句@ebaysql varchar(max),--不包含用户表的ebaysql语句@ebayusersql varchar(max),--ebay的用户表sql语句@paypaluserwher 阅读全文
posted @ 2011-12-03 16:03 放哨De老鼠 阅读(508) 评论(0) 推荐(0)
摘要:-- ALTER SCHEMA 新架构 TRANSFER 旧架构.对象名称ALTER SCHEMA [dbo] TRANSFER espow.[TransactionsList] 阅读全文
posted @ 2011-11-08 17:19 放哨De老鼠 阅读(778) 评论(0) 推荐(0)
摘要:--提取分页数据,返回总记录数createprocedure Proc_GetDataPaging_ReturnDataCount(@SqlString varchar(6000), --查询语句@PageNumber int,--当前的页码@PageSize int, --每页显示的数据量@SequenceField varchar(100), --排序字段@DataCount int out --总数据量)asbegin--提取总记录数declare @Sql nvarchar(2000)set @Sql = N'select @countNum = count(1) from ( 阅读全文
posted @ 2011-11-07 17:59 放哨De老鼠 阅读(501) 评论(0) 推荐(0)
摘要:--新增表字段ALTER procedure [dbo].[sp_Web_TableFiled_Insert](@TableName varchar(100),@FieldName varchar(100),@FieldExplain varchar(200),@DataType varchar(100),@ConnectTableName varchar(100),@FieldLength int,@NewsID int output)asbegin transaction mytrandeclare @errorSum intif not exists (SELECT * FROM sys 阅读全文
posted @ 2011-11-05 16:00 放哨De老鼠 阅读(3705) 评论(0) 推荐(0)
摘要:1:删除CREATE PROCEDURE Sp_deletedatabyCondition @tablename nvarchar(100), @condition nvarchar(200) ASBEGIN DECLARE @Sql nvarchar(500) SET @Sql='delete from '+@tablename+ ' where '+@condition EXEC(@Sql)ENDGO2:查询CREATE PROCEDURE SP_getColumnsByCondition @tablename nvarchar(100), @columns 阅读全文
posted @ 2011-08-21 18:04 放哨De老鼠 阅读(381) 评论(0) 推荐(0)
摘要:delete from Userinfo where userid in (select userid from Userinfo group by userid having count(userid) > 1)and uid not in (select min(uid) from Userinfo group by userid having count(userid )>1) 阅读全文
posted @ 2011-03-14 11:30 放哨De老鼠 阅读(318) 评论(0) 推荐(0)