sql如何创建临时表

关于sql如何创建临时表这个问题,今天我们以二款利用sql创建临时表的实例来说明下,其实创建临时表方法很简单的,和创建数据表有一点大同小义了,下面我们就来看看实例教程吧。

方法一

 

use [fly]
go
/****** object: userdefinedfunction [dbo].[cgf_fn_searchchar] script date: 09/03/2010 16:42:12 ******/
set ansi_nulls on
go
set quoted_identifier on
go
create function [dbo].[cgf_fn_searchchar](@instr varchar(500),@fndstr varchar(500))
returns int
as
begin
declare @i int,@f int,@c varchar(1)
set @i = 1
set @f = len(@fndstr)
while(@i <= @f)
begin
set @c = substring(@fndstr, @i, @i)
if(charindex(@c,@instr) > 0)
begin
return 1
end
set @i = @i + 1
end
return 0
end

方法二

use [fly]
go
--参数:@instr 待搜索字串,@fndstr 搜索字串,@doc 分隔符
-- 例:select dbo.fsearch('1,2,3,4,5,6','3,6,5,8,2',',') 返回0-不匹配,返回1-匹配(@instr中有@fndstr内容)
--可以用于表搜索,如:
-- select *,dbo.fsearch(str,'3,6,5,8,2',',') as 是否匹配 from 表名
-- @fndstr和@doc两个参数就需要你自己提供了,@instr可以是数据表里的某个待搜索字段名
create function cgf_fn_search(@instr varchar(500),@fndstr varchar(500),@doc varchar(5))
returns int
as
begin
declare @i int,@c varchar(500),@fstr varchar(500)
set @fstr = @fndstr
while(len(@fstr) > 0)
begin
set @i = charindex(@doc, @fstr)
if(@i = 0)
begin
if(charindex(@fstr,@instr) > 0)
return 1
else
return 0
end
else
begin
set @c = substring(@fstr,1,@i-1)
if(charindex(@c,@instr) > 0)
return 1
else
set @fstr = substring(@fstr,@i+len(@doc),len(@fstr))
end
end
return 0
end

时间: 2024-09-21 10:49:08

sql如何创建临时表的相关文章

sql server 创建临时表的使用说明_MsSql

临时表产生:A: SELECT INTO和B:CREATE TABLE + INSERT INTO 1. A 要比B 快很多.但是A会锁定tempdb的SYSOBJECTS.SYSINDEXES.SYSCOLUMNS表,在多用户并发的时候,容易产生阻塞其他的进程. 2. 在并发系统中是用B. 大数量的单个语句中,使用A. 创建临时表的方法:        方法一:      create table #临时表名(字段1 约束条件,                       字段2 约束条件,

sql server 创建临时表的使用说明

临时表产生:A: SELECT INTO和B:CREATE TABLE + INSERT INTO 1. A 要比B 快很多.但是A会锁定tempdb的SYSOBJECTS.SYSINDEXES.SYSCOLUMNS表,在多用户并发的时候,容易产生阻塞其他的进程. 2. 在并发系统中是用B. 大数量的单个语句中,使用A. 创建临时表的方法: 方法一:      create table #临时表名(字段1 约束条件,                       字段2 约束条件,        

sql server创建临时表的两种写法和删除临时表

--创建.删除临时表 --第一种方式 create table #tmp(name varchar(255),id int) --第二种方式 select count(id) as storyNum , sum(convert(numeric(10,2),case when isnumeric(code)=1 then code else 0 end)) as codeNum, sum((case when isnumeric(realcode)=1 then convert(numeric(1

SQL Server中临时表与表变量有什么区别

我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量.在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在.临时表在创建的时候都会产生SQLServer的系统日志,虽它们在Tempdb中体现,是分配

SQL Server中临时表与表变量的区别

  我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量.在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在.临时表在创建的时候都会产生SQLServer的系统日志,虽它们在Tempdb中体现,是

Oracle中创建临时表、外部表和分区表实例

临时表 在Oracle中,临时表是"静态"的,它与普通的数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的.相对于其他类型的表,临时表只有在用户实际向表中添加数据时,才会为其分配空间,并且分配的空间来自临时表空间.这就避免了与永久对象的数据争用存储空间. 创建临时表的语法如下: CREATE GLOBAL TEMPORARY TABLE table_name( column_name data_type,[column_name data_type,...] )ON CO

java调用存储过程-Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1,求大师指点

问题描述 Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1,求大师指点 如题所述,使用Java代码执行删除.创建临时表的存储过程时总是执行不成功(不报错, 但是获取的影响行数为-1),别的存储过程都可以执行成功,求大师指点啊, 存储过程和Java代码如下: 1.存储过程代码 ALTER PROCEDURE [dbo].[PROC_TEMP] AS BEGIN if object_id('tempdb..##temp') is not null Begin DROP TABLE #

ASP.NET中如何创建临时表,谢谢

问题描述 ASP.NET中如何创建临时表,谢谢具体的怎么操作下面是我的代码本来我创建临时表是在一个函数中,但是后面检索会出现错误,提示说是临时表不存在.下载我把创建和检索放在一个try中.但是每次执行后结果都是空的.返回影响值是-1表示根本没有列受到影响.不知道怎么回事,谢谢StringconnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].Conn

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

问题描述 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) --获取