临时表的问题
各位达人: <br/>一个这样的存储过程 <br/>create proc sp_Test <br/>as <br/> if object_id( 'tempdb..Test ') is not null <br/> begin <br/> select * from tempdb..Test <br/> end <br/>begin <br/><br/>其中的表tempdb..Test不存在 <br/><br/>我有想建立这个存储过程,该怎么办啊? <p>create procedure sp_test<br/>as<br/> declare @v_sql varchar(50)<br/>begin<br/> select @v_sql='select * from tempdb..test'</p><p> if object_id('tempdb..test') is not null<br/> exec(@v_sql)<br/> else<br/> select 'tempdb..test is not exist' <br/>end<br/>go<br/></p> <p>谢谢,</p><p>这种写法我也知道,但现在客户的代码是上面那种形式的,老大又不让改,郁闷.</p> <p>把存储过程导成SQL,然后在SQL前面加上相应的建表语句,再用ISQL或别的方法直接导入SQL来建存储过程。</p><p>我们以前公司的人有这么做过,一般这样的存储过程是在编程的时候调用的,前面的临时表在别的地方建好的,这里直接调用。</p> <p>谢谢老大</p><p>那还需要另外一个存储过程来建立这个临时表,在服务器启动时运行对不?</p><p>tempdb里面的object 会在什么服务器重启时消失的</p> <p>你手里肯定维护了某个业务的一系列脚本,比如建表、存储过程...</p><p>你可以在建表脚本里面增加创建Test的内容,然后再创建sp_Test</p><p>要么表事先已经存在,然后创建过程</p><p>要么就是在过程中使用动态SQL了</p> <p>环境是xp+Sybase 12.5.1</p> <p>我也认为客户有这个脚本,可是他们说不能提供,</p><p>谢谢你</p> 顶了
页:
[1]