Sysbase数据库存储过程

近日不得不学习Sybase数据库的相关内容,以前只是接触过mysql的基本操作,基本的增删改查之类的。没有接触过Sybase,不过Sybase的操作和mysql很相似。所以写起来也不甚麻烦,特写篇博客,以后再用到可以方便查看。
-- 向TEST_TABLE中插入数据指定日期和之前n天的数据
IF OBJECT_ID ('dbo.PROC_TEST_TABLE') IS NOT NULL
	DROP PROCEDURE dbo.PROC_TEST_TABLE
GO

CREATE PROCEDURE PROC_TEST_TABLE -- 创建存储过程

(
 @set_time SMALLDATETIME =NULL, -- 设置指定日期参数
 @n INT=0                       -- 设置间隔
  
)
AS

DECLARE
   @v_sql         VARCHAR(4000),    --执行的SQL语句
   @v_time        SMALLDATETIME     -- 临时变量


	IF @set_time!=NULL 
	   SET @v_time=@set_time       -- 设置临时变量
	END 
 
 
 CREATE TABLE TEST_TABLE(           -- 创建表格
 	DT	SMALLDATETIME NOT NULL,
 	VALUE INT 
 )
 
 CREATE UNIQUE NONCLUSTERED INDEX UQE_IEP_FILL_TEMP    -- 创建索引
     ON dbo.#IEP_FILL_TEMP (OBJ_ID,SELF_ID,DATA_DT)
   WITH IGNORE_DUP_KEY
 
 
 
 	WHILE @v_time!=dateadd(day,-n,@v_time)  -- 停止条件
 
 	BEGIN
	   
	   SET @v_time=dateadd(day,-1,@v_time)   -- 每次递减一天
 	   SET @v_sql='INSERT INTO TEST_TABLE(DT,VALUE)  
	  		VALUES('''+@v_time_temp+''',convert(INT ,'''+@v_time +''')) ' --使用convert转换数据类型
	  		
	   EXEC (@v_sql) -- 执行sql
	   
	END  

    PRINT 'success with last time: %1!',@v_time  -- 打印信息

GO


你可能感兴趣的:(存储过程)