2 a1835951201 a1835951201 于 2014.04.03 09:16 提问

sql server创建存储过程初始化失败,不知道为什么,求大侠帮忙看看

CREATE PROCEDURE p_getLogFilter
@account VARCHAR(20),
@split VARCHAR(10)
AS
BEGIN
DECLARE @splitlen INT,
@au_id CHAR(50),
@s VARCHAR(MAX),
@cform VARCHAR(255),
@dbname VARCHAR(200),
@sqlstr NVARCHAR(MAX)
--获取数据库名
SELECT @dbname=dbname FROM accinfo WHERE accid=@account
--创建临时表
IF EXISTS (SELECT * FROM tempdb.dbo.sysobjects WHERE id = object_id(N'tempdb..##templogdescp') AND type='U')
DROP TABLE ##templogdescp

CREATE TABLE ##templogdescp(operate VARCHAR(MAX),cform VARCHAR(255))
DELETE FROM ##templogdescp

SET @sqlstr = 'select @au_id = min( cguid ) from ['+@dbname+'].[dbo].[CM_LOG] where ctype=1 and caction=''查询'''
EXEC SP_EXECUTESQL @sqlstr,N'@au_id char(20) OUTPUT', @au_id OUTPUT
--select @au_id = min( cguid ) from CM_LOG where ctype=1 and caction='查询'

SET @splitlen=LEN(@split+'a')-2
WHILE @au_id IS NOT NULL
BEGIN
--set @s = (select substring(CDESCP,charindex('[',CDESCP)+1,len(CDESCP)-(case when charindex('[',CDESCP)!=0 then charindex('[',CDESCP)+1 else 0 end)) from [A399992014].[dbo].CM_LOG where cguid = @au_id)
--set @cform = (select cform from [A399992014].[dbo].CM_LOG where cguid=@au_id)
SET @sqlstr = 'select @s=substring(CDESCP,charindex(''['',CDESCP)+1,len(CDESCP)-(case when charindex(''['',CDESCP)!=0 then charindex(''['',CDESCP)+1 else 0 end)) from ['+@dbname+'].[dbo].CM_LOG where cguid = '''+@au_id+''''
EXEC SP_EXECUTESQL @sqlstr,N'@s varchar(max) OUTPUT', @s OUTPUT
SET @sqlstr = 'select @cform=cform from ['+@dbname+'].[dbo].CM_LOG where cguid='''+@au_id+''''
EXEC SP_EXECUTESQL @sqlstr,N'@cform varchar(255) OUTPUT', @cform OUTPUT
WHILE CHARINDEX(@split,@s)>0
BEGIN
INSERT ##templogdescp VALUES(LEFT(@s,CHARINDEX(@split,@s)-1),@cform)
SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
END

 IF(@s IS NOT NULL)
 INSERT ##templogdescp VALUES(@s,@cform)

 --select @au_id = min( cguid ) from [A399992014].[dbo].CM_LOG where cguid > @au_id and ctype=1 and caction='查询'
 SET @sqlstr = 'select @au_id = min( cguid ) from ['+@dbname+'].[dbo].CM_LOG where cguid > '''+@au_id+''' and ctype=1 and caction=''查询'''
EXEC SP_EXECUTESQL  @sqlstr,N'@au_id varchar(255) OUTPUT', @au_id OUTPUT

END

RETURN
END

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
sql server 更新存储过程 失败
在 sql server 新建表A后,在对应数据库---->可编程性----->存储过程中,写入对表数据的处理sql语句: 1) 新建存储过程  1) 新建存储过程 CREATE PROCEDURE 存储过程名 这个是创建存储过程 ALTER PROCEDURE 存储过程名 这个是修改存储过程 2) 保存存储过程 存储过程
SQL SERVER 存储过程 获取三个数中的最大值
获取三个数中的最大值:CREATE PROCEDURE proc_max @a INT, @b INT, @c INT AS BEGIN DECLARE @max INT; IF @a>@b SET @max=@a; ELSE SET @max=@b; IF @c>@max SET @max=@c; PRINT '三个数中最
Sql Server 2008单个存储过程统计多个信息
1.前言近来用SQLServer2008实现了对一个表的多个信息的统计功能,感觉很有意思,特此整理成文。 2.前驱知识SQLServer2008里面,可以直接用Select将数据查询出来比如说select '2016年11月15日22:53:58' 我的写作时间 执行的结果为 那么便可以利用这个特性,来统计一个表的多个信息
C#与SQL Server存储过程之一(创建):使用C#创建SQL Server的存储过程
 通常,开发人员使用的是T-SQL来创建SQL Server的存储过程、函数和触发器。 而现在的SQL Server 2005已经完全支持.NET通用语言运行时(CLR)了。 这就意味着,你可以使用.NET的语言,如C#、VB.NET之类的来开发SQL Server的存储过程、函数和触发器。 SQL Server 和 CLR 的集成给我们带来了n多好处,如实时编译、类型安全、增强的安全性以及增
sqlserver中用存储过程创建sql任务(job)
create proc p_createjob @jobname varchar(100),--作业名称 @sql varchar(8000),--要执行的命令 @dbname sysname='',--默认为当前的数据库名 @freqtype varchar(6)='day',--时间周期,month 月,week 周,day 日 @fsinterval int=1,--相对于每日的重
sqlserver2000中使用存储过程创建表
1. 创建存储过程CREATE   procedure   LP_CreateTab       @Tab_NameInfo     varchar(20),     @Tab_NameAchv     varchar(20)   AS  BEGIN TRANSACTION   exec(Create  Table  +@Tab_NameInfo+     ( Fd_No          
关于sql server 在存储过程中创建临时表,并往临时表中插入数据时出现乱码的问题
此前在客户一个繁体系统的sql  server中执行存储过程的时候出现乱码,经查发现创建临时表后,往临时表中插入数据时得到的数据是乱码的,所以查看创建表的sql脚本,经查需要将变量类型设置为   nvarchar即可解决此问题
SQL server 存储过程 创建与使用
存储过程(Procedure) 存储过程是SQL语句和控制语句的预编译集合,保存在数据库中,可以调用执行,并且允许用户声明变量.逻辑控制语句以及其他强大的编程功能 --------------------------------------- 存储过程的优点: 1.模块化程序设计,2.执行速度快,效率高,3.减少网络流量,4.具有良好的安全性 存储过程三类: 1.系统存储过程,系统存储
sqlserver带输入输出存储过程
-- 创建存储过程 ALTER PROCEDURE dbo.abcd @inp int, -- 输入参数 @oup int output -- 输出参数 AS BEGIN declare @num int -- 定义变量 declare @numer int -- 定义变量 SELECT @num = count
SQL 存储过程动态创建视图
CREATE PROCEDURE  CREAR_PF_VIEW  AS BEGIN DECLARE @sql VARCHAR(MAX) SET @sql = 'CREATE VIEW dbo.V_PF AS select * from (select distinct XMBH as XMBH  From YDS_SHPB ) X1 ' DECLARE @uid VARCHAR(MAX)