我想检查表是否不存在,然后创建一个,否则,将数据插入其中.
use tempdb
if object_id('guest.my_tmpTable') IS NULL
begin
CREATE TABLE guest.my_tmpTable (
id int,
col1 varchar(100)
)
end
--- do insert here ...
Run Code Online (Sandbox Code Playgroud)
第一次运行时,表已创建,但第二次运行sybase抱怨表已存在.
谢谢!
小智 7
原因是整个语句 - 如果及其"真实"部分被编译为一个.
如果编译期间表存在 - 错误.
所以你可以将CREATE TABLE语句放入动态的sql statemet中EXEC('CREATE TABLE....')
然后Sybase在编译时看到的是:
IF object_id('mytab') IS NULL
EXEC('something or other')
Run Code Online (Sandbox Code Playgroud)
EXEC直到执行时才会编译内容,当你知道没有表并且一切都很好时.
| 归档时间: |
|
| 查看次数: |
5284 次 |
| 最近记录: |