sql 存储过程生成sql 插入语句
在查询分析器以“文本显示结果”方法执行
exec UspOutputData 你的表名
得到导出数据的语句,但image,text,ntext,sql_variant 列不出现在语句,以后改进。
存储过程UspOutputData如下:
CREATE PROCEDURE dbo.UspOutputData
@tablename sysname
AS
declare @column varchar(1000)
declare @columndata varchar(1000)
declare @sql varchar(4000)
declare @xtype tinyint
declare @name sysname
declare @objectId int
declare @objectname sysname
declare @ident int
set nocount on
set @objectId=object_id(@tablename)
if @objectId is null -- 判斷對象是否存在
begin
print 'The object not exists'
return
end
set @objectname=rtrim(object_name(@objectId))
if @objectname is null or charindex(@objectname,@tablename)=0 --此判断不严密
begin
print 'object not in current database'
return
end
if OBJECTPROPERTY(@objectId,'IsTable') <> 1 -- 判斷對象是否是table
begin
print 'The object is&nbs
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
如何开启SQL CLR
开启SQL CLR有两步操作,如下所示:
1. 开启SQLCLR,在sql server2005中执行如下脚本,开启SQL CLR功能
EXEC sp_configure 'show advanced options' , '1';
go
reconfigure;
go
EXEC sp_configure 'clr enabled' , '1'
go
reconfigure;
-- Tu ......
写了一段例子,通过sql创建一个job,定期执行一些清除工作。在sql2005上测试通过。
sql帮助文档太零散了。这是一个完整的流程。不过注意定时执行时需要sql server agent服务器启动的。
USE msdb ;
GO
EXEC dbo.sp_add_job
@job_name = N'Clear oldest HB',
@enabled = 1,
@description = N'Clear heart ......
SELECT
count
(
userName
)
from
`userInfo`
GROUP
BY
userName
HAVING
count
(
userName
)
>
1。
这个Having一定要放在GROUP BY的后面。
而且很特殊的情况是在有group by的时候,是不能用到where子句的。而且Having子句一般是放在其他子句的后面的。
当我们选不只一个栏位,且其 ......
1.查询出当前连接然后将其关闭
select spid
from master.dbo.sysprocesses
where dbid= db_id('数据库名')
--db_id('DoNet')
如spid 值为 52.
2. 執行:
kill 52
3.修改數據庫名
EXEC sp_dboption 'old_db_name', 'Single User', 'false'
&nb ......