sql server 创建表判定表是否存在
时间: 2023-11-29 17:46:22 浏览: 862
以下是两种SQL Server创建表判断表是否存在的方法:
1.使用IF语句判断表是否存在,如果存在则不创建,否则创建表:
```sql
IF OBJECT_ID(N'UserInfos',N'U') IS NULL
BEGIN
CREATE TABLE UserInfos (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT
)
END
```
2.使用IF语句判断临时表是否存在,如果存在则不创建,否则创建临时表:
```sql
IF EXISTS (SELECT * FROM tempdb.dbo.sysobjects WHERE id = OBJECT_ID(N'tempdb..#TempUsers') AND type='U')
BEGIN
PRINT '临时表#TempUsers 存在!'
END
ELSE
BEGIN
CREATE TABLE #TempUsers (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT
)
PRINT '临时表#TempUsers 创建成功!'
END
```
相关问题
Transact–SQL判定素数
Transact-SQL (T-SQL) 是 Microsoft SQL Server 中用于管理和操作数据库的语言,它主要用于查询、插入、更新和删除数据。然而,直接在 T-SQL 中编写算法来判断一个数是否为质数并不是其主要用途,因为 T-SQL 更倾向于处理结构化数据而非复杂的数学计算。
在 SQL 中,通常不会有一个内置函数可以直接用于判定质数,因为这超出了标准的 SQL 范围。如果你需要在 SQL Server 环境下做这种计算,你可以创建自定义存储过程或用户定义函数,并用循环或条件检查的方式来实现。例如,可以遍历从 2 到该数减一的所有整数,看是否存在除数。
下面是一个简单的示例,展示如何在一个临时表中通过 SQL 来判断一个数 n 是否为质数:
```sql
CREATE TABLE #TempTable
(
Number INT,
IsPrime BIT
)
DECLARE @Number INT = 17
INSERT INTO #TempTable (Number)
VALUES (@Number)
UPDATE #TempTable
SET IsPrime = CASE
WHEN Number > 1 THEN
NOT EXISTS (
SELECT 1 FROM #TempTable AS SubNum
WHERE SubNum.Number <= SQRT(@Number)
AND @Number % SubNum.Number = 0
)
ELSE FALSE
END
SELECT * FROM #TempTable
```
阅读全文