動態的建立表的sql,並把查詢的結果插入該錶

2021-04-19 08:01:56 字數 806 閱讀 9367

以sqlserver 為例

declare @temptable nvarchar(20)

declare @createtable nvarchar(200)

declare @typename nvarchar(20)

declare @tablename nvarchar(20)

declare @selectsql nvarchar(100)

set @temptable = 'a_type_zcfgt'--新建的表名

set @typename = 'b_type' --乙個字段

set @tablename = 'zcfgt'   --表名

--建表

begin

set @createtable='create table '+ @temptable+' (id_ int identity(1,1),typename nvarchar(32))'

print @createtable

exec(@createtable)

end--查詢

begin

set @selectsql='select  distinct('+@typename+ ')  from  '+@tablename

print @selectsql

end--插入

begin

set @createtable='insert into  '+@temptable+' '+ @selectsql

print @createtable

exec(@createtable)

end

SQL實現表的動態查詢

一 事例 如果對乙個大學生三年成績的查詢通過學生學號,學生成績按學期存放在不同的表中,成績表如下 cjxx20051 也就是存放學生2005年第一學期的成績 cjxx20052 也就是存放學生2005年第二學期的成績 cjxx20061 也就是存放學生2005年第一學期的成績 cjxx20062 也...

SQL動態表查詢

在程式設計過程中,經常會遇到需要根據使用者的選擇進行查詢的情況,這時,使用者不同的選擇可能需要查詢不同的表名,而且這個表名可能還不宜事先在程式中定死,需要能動態的隨機選擇。當然還包括表名和使用者的某些資訊相關,可能不同的使用者需要進入不同的表,甚至表名的一部分就是使用者名稱的一部分,等等。對於這些情...

原創 把SQL的動態查詢改成SQL查詢

在我們使用儲存過程的時候,有時為了組合查詢條件,不得不使用動態查詢。比如下面的 create proc usp search city intas begin declare sql varchar 8000 set sql n select from testtable where 1 1 if ...