Guten Abend!
Vorweg ich habe noch nicht wirklich viele Erfahrungen mit Stored Procedures gemacht. Ich habe mehr mit Oracles PL/SQL Scripts gewerkelt.
Also:
Ich stehe vor folgendem Problem:
Ich brauche Stored Procedures die Namen der Datenbanken, Namen der Tabellen der einzelnen Datenbanken und Namen der Columns zurückliefern.
Ich habe schonmal ein wenig gepasstelt aber so wirklich gehen tut nichts...
Also das sind die 3 Funktionen die ich bisher geschrieben habe. Bitte habt Mitleid es sind meine ersten Stored Procedures.
CREATE Procedure dbo.get_databases(@fieldname VARCHAR(20))
BEGIN
SELECT
name
FROM
sys.databases;
END;
CREATE Procedure dbo.get_tables(@dat_name VARCHAR(20), @fieldname VARCHAR(20))
BEGIN
USE @dat_name;
SELECT
name
FROM
sys.objects
WHERE
type_desc='USER_TABLE'
AND
object_id IS IN (SELECT DISTINCT object_id FROM sys.columns WHERE name = @fieldname);
END;
CREATE Procedure dbo.get_fields(@dat_name VARCHAR(20), @tab_name VARCHAR(20))
BEGIN
USE @dat_name;
SELECT
sys.columns.name,TYPE_NAME(sys.columns.user_type_i d)AS column_type,sys.columns.max_length
FROM
sys.columns
WHERE
sys.columns.object_id IS IN (SELECT DISTINCT sys.tables .object_id FROM sys.tables WHERE name = @tab_name;
END;
Vielleicht könnte mir jemand helfen die FUnktionen lauffähig zu machen!
mfg
TheJoe
Vorweg ich habe noch nicht wirklich viele Erfahrungen mit Stored Procedures gemacht. Ich habe mehr mit Oracles PL/SQL Scripts gewerkelt.
Also:
Ich stehe vor folgendem Problem:
Ich brauche Stored Procedures die Namen der Datenbanken, Namen der Tabellen der einzelnen Datenbanken und Namen der Columns zurückliefern.
Ich habe schonmal ein wenig gepasstelt aber so wirklich gehen tut nichts...
Also das sind die 3 Funktionen die ich bisher geschrieben habe. Bitte habt Mitleid es sind meine ersten Stored Procedures.
CREATE Procedure dbo.get_databases(@fieldname VARCHAR(20))
BEGIN
SELECT
name
FROM
sys.databases;
END;
CREATE Procedure dbo.get_tables(@dat_name VARCHAR(20), @fieldname VARCHAR(20))
BEGIN
USE @dat_name;
SELECT
name
FROM
sys.objects
WHERE
type_desc='USER_TABLE'
AND
object_id IS IN (SELECT DISTINCT object_id FROM sys.columns WHERE name = @fieldname);
END;
CREATE Procedure dbo.get_fields(@dat_name VARCHAR(20), @tab_name VARCHAR(20))
BEGIN
USE @dat_name;
SELECT
sys.columns.name,TYPE_NAME(sys.columns.user_type_i d)AS column_type,sys.columns.max_length
FROM
sys.columns
WHERE
sys.columns.object_id IS IN (SELECT DISTINCT sys.tables .object_id FROM sys.tables WHERE name = @tab_name;
END;
Vielleicht könnte mir jemand helfen die FUnktionen lauffähig zu machen!
mfg
TheJoe
Comment