Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
jaskalirai
Starting Member
31 Posts |
Posted - 2007-10-09 : 06:05:51
|
| USE [dw_data]GOCREATE PROC [dbo].[usp_patients_create]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'patients')CREATE TABLE [dw_build].[dbo].[patients] ( [_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [copy_letters] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [copy_letters_userno] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [created] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [creator] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [date_of_birth] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [date_of_death] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [name] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [name_at_birth] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [notes] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [previous_ref_1] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [previous_ref_2] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [sector] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [sector_userno] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [updated] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [updator] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY]CREATE PROC [dbo].[usp_ward_leave]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'ward_leave')CREATE TABLE [dw_build].[dbo].[ward_leave] ( [_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [admission_smr4_sent] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [consultant] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [created] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [creator] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [disch_return_date] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [disch_return_time] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [discharge_smr4_sent] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [expect_return] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [fist_admission_reco] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [fist_discharge_reco] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [hrg_code] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [hrg_code_userno] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [hrg_version] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [leave_place] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [leave_type] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [leave_type_userno] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [min_leave_f_up] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [min_leave_f_up_userno] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [notes] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [patient] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [patient_date] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [place] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [pss_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [result] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [result_userno] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [ris_record_sent] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [sig_facility] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [sig_facility_userno] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [start__ward__hour] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [start__ward__minute] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [start_hour] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [start_minute] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [status_change_smr4] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [updated] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [updator] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_1] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_2] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_3] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_4] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_5] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_6] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_7] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [ward] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [ward_date] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [ward_leave] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY];CREATE PROC [dbo].[usp_user_code]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'user_code')CREATE TABLE [dw_build].[dbo].[user_code] ( [_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [alias] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [code] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [created] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [creator] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [description] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [disabled] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [group_] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [link] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [list_change_date] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [list_number2] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [long_description] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [national_code] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [national_default] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [notes] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [number] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [number_as_string] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [palmtop_use] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [updated] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [updator] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_1] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_10] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_11] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_12] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_13] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_14] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_15] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_16] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_17] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_18] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_19] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_2] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_20] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_21] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_22] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_23] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_24] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_25] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_26] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_27] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_28] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_3] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_4] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_5] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_6] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_7] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_8] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [user_code_type_9] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [z2nd_alias] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY]CREATE PROC [dbo].[usp_sys_table_index_base]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'sys_table_index_base') CREATE TABLE [dw_build].[dbo].[sys_table_index_base] ( [table_name] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [index_name] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [primary_yn] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [unique_yn] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [build_yn] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY]CREATE PROC [dbo].[usp_sys__import_table_list1]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'sys__import_table_list1') CREATE TABLE [dw_build].[dbo].[sys__import_table_list1] ( [table_name] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [import_yn] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [table_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY]CREATE PROC [dbo].[usp_sys__import_table_list__short]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'sys__import_table_list__short')CREATE TABLE [dw_build].[dbo].[sys__import_table_list__short] ([table_name] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,[import_yn] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,[table_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY]CREATE PROC [dbo].[usp_sys__import_table_list]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'sys__import_table_list')CREATE TABLE [dw_build].[dbo].[sys__import_table_list] ([table_name] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,[import_yn] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,[table_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY]i go to run the above script and keep getting a error message Incorrect syntax near the keyword 'PROC'.what am i missing out please help me |
|
|
elancaster
A very urgent SQL Yakette
1208 Posts |
Posted - 2007-10-09 : 06:08:08
|
| try putting a GO after your 'create table' bits etc..Em |
 |
|
|
Kristen
Test
22859 Posts |
Posted - 2007-10-09 : 06:57:59
|
I don't think you can do:CREATE PROC [dbo].[usp_patients_create]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'patients')CREATE TABLE [dw_build].[dbo].[patients] ([_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,...[updator] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY] because CREATE TABLE has to be in a single statement on its own. So I reckon you will need something like:CREATE PROC [dbo].[usp_patients_create]ASIF NOT EXISTS (SELECT 1 FROM [DW_BUILD].INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'patients')EXEC('CREATE TABLE [dw_build].[dbo].[patients] ([_id] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,...[updator] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL) ON [PRIMARY]')Kristen |
 |
|
|
Kristen
Test
22859 Posts |
Posted - 2007-10-09 : 06:59:28
|
Is everything really 255 chars wide?Even the ID? and the long_description? Might be a staging table of course ... but I'd want Varchar(8000) for everything for one of those I reckon!Kristen |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-09 : 07:18:55
|
Yes, you can create several tables within a SP without EXEC.CREATE PROCEDURE PesoTestASCREATE TABLE #Temp (i INT)CREATE TABLE #Test (j INT)INSERT #Temp SELECT a FROM Table1INSERT #Test SELECT i FROM #TempDROP TABLE #TempDROP TABLE #Test In your code/script above, put a GO before "CREATE PROC". Your code faults because a CREATE PROC needs to be first in a statement. E 12°55'05.25"N 56°04'39.16" |
 |
|
|
Kristen
Test
22859 Posts |
Posted - 2007-10-09 : 07:39:51
|
"you can create several tables within a SP"Doh! Not my day, sorry about that |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-09 : 07:44:41
|
2 on one day?Kristen, do you need some more coffee?  E 12°55'05.25"N 56°04'39.16" |
 |
|
|
Kristen
Test
22859 Posts |
Posted - 2007-10-09 : 07:50:32
|
| Actually biscuits would be good; I'm in the dog-house for not doing the Supermarket online-shop ... |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-09 : 07:56:16
|
http://www.thamelmall.com/thamelgift/thirdpage.asp?categoryID=41&subcategoryID=154 E 12°55'05.25"N 56°04'39.16" |
 |
|
|
Kristen
Test
22859 Posts |
Posted - 2007-10-09 : 08:00:53
|
| /Munch! |
 |
|
|
|
|
|
|
|